Multi-robot control method and system
Through the method of collecting and dynamically allocating real-time data flow of multi-robots, and adjusting task execution strategies using distributed computing frameworks and real-time decision-making algorithms, the problems of inflexible resource allocation, inactive task scheduling, and imperfect collaboration mechanisms in the multi-robot control system are solved, and the system's work efficiency and response speed are improved.
Patent Information
- Application Number
- CN202510252007.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-03-05
- Publication Date
- 2025-04-04
- Estimated Expiration
- 2045-03-05
AI Technical Summary
The existing multi-robot control system has problems such as insufficient resource allocation, lack of real-time task scheduling, and insufficient collaboration mechanism, resulting in unreasonable resource allocation, slow task scheduling response, and poor collaboration effect when task complexity changes or uneven robot load.
By collecting real-time data flows generated by multiple robots during the execution of tasks, dynamically allocate computing resources, processing data flows using a distributed computing framework, and adjusting task execution strategies through real-time decision algorithms to coordinate robot actions to improve work efficiency and response speed.
The resource allocation of multi-robot systems is achieved more flexible, task scheduling is more real-time, and collaboration mechanism is improved, which improves the overall working efficiency and response speed of the system, and enhances the flexibility, adaptability and robustness of the system.
Smart Images

Figure CN119748464A_ABST
Abstract
Description
Technical Field
[0001] The embodiments of the present application relate to the field of data processing technology, and more particularly to a multi-robot control method and system. Background Art
[0002] With the development of automation and intelligent technology, multi-robot systems have been widely used in many fields such as industrial manufacturing, logistics distribution, disaster relief, etc. In these scenarios, robots need to work together to complete complex and diverse tasks. In order to achieve efficient multi-robot collaboration, it is necessary to collect a large amount of data streams generated by each robot during the execution of the task in real time, and dynamically adjust the robot's behavior strategy based on these data streams. This requires the system to not only be able to process large amounts of data in real time, but also to 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 perform its tasks in the best state.
[0003] Current multi-robot control systems mainly rely on static resource allocation and task scheduling strategies. These systems usually predefine the roles and responsibilities of each robot before the task begins, and rarely make dynamic adjustments during the task execution. Although some studies have proposed using distributed computing frameworks to process the data streams generated by robots and trying to adjust task execution strategies through real-time decision-making algorithms, these solutions often lack accurate grasp of the real-time status of robots and find it difficult to achieve highly dynamic resource allocation and task scheduling.
[0004] The existing multi-robot control system has the following main defects: Resource allocation is not flexible enough: Traditional resource allocation methods are usually static and cannot be dynamically adjusted according to changes in the real-time status of the robot. This leads to unreasonable resource allocation when the task complexity changes or the robot load is uneven, affecting the overall task execution efficiency.
[0005] Task scheduling lacks real-time performance: Existing task scheduling algorithms are slow to respond to emergencies or environmental changes and cannot quickly adjust task execution strategies, reducing the system's response speed and flexibility.
[0006] The collaboration mechanism is not perfect: The existing multi-robot collaboration mechanism fails to fully consider the complexity of robot group behavior when dealing with data sharing and task coordination between robots, resulting in poor collaboration effects in practical applications, especially in high-concurrency or changing environments. Summary of the invention
[0007] The embodiments of the present application provide a multi-robot control method and system to solve the problems in the prior art such as insufficient flexibility in resource allocation, lack of real-time performance in task scheduling, and imperfect collaboration mechanism.
[0008] In a first aspect, an embodiment of the present application provides a multi-robot control method, comprising: Collect real-time data streams generated by multiple robots during mission execution; Dynamically allocate computing resources to the multiple robots according to the real-time data stream, wherein the computing resources are allocated based on the current task complexity and remaining computing capacity of each robot; Processing the real-time data stream using a distributed computing framework, and adjusting the task execution strategies of the multiple robots through a real-time decision algorithm based on the processed data stream; According to the task execution strategy, the actions of the multiple robots are coordinated to improve the working efficiency and response speed of the multiple robots.
[0009] Optionally, dynamically allocating computing resources to the multiple robots according to the real-time data stream includes: Based on the real-time data stream, evaluate the task complexity of the task currently performed by each robot, wherein the task complexity includes the task type, the required computation amount, and the expected completion time; Monitor the computing resource usage of each robot in real time to determine the remaining computing capacity of each robot, wherein the computing resource usage includes CPU load, memory usage, storage space occupancy, and network bandwidth; Based on the task complexity and the remaining computing capacity, predict the required computing resources of each robot in a future period; Based on the required computing resources of each robot, computing resources are dynamically allocated to the multiple robots to ensure the rationality and efficiency of the use of computing resources. The computing resources include adjusting CPU frequency, allocating memory resources, optimizing storage access mode, and adjusting network priority.
[0010] Optionally, adjusting the task execution strategies of the multiple robots through a real-time decision algorithm based on the processed data stream includes: Based on the preprocessed data stream, the task complexity, computing resource usage and remaining computing capacity corresponding to each robot are obtained and input into a pre-set real-time decision algorithm, which is used to formulate a task execution strategy according to the task complexity, computing resource usage and remaining computing capacity corresponding to each robot; According to the task execution strategy, the task allocation and execution order of each robot are dynamically adjusted.
[0011] Optionally, coordinating the actions of the multiple robots according to the task execution strategy includes: According to the task execution strategy, an action instruction set for each robot is generated, wherein the action instruction set includes instructions related to the cooperation relationship between the multiple robots and their respective task priorities; The action instruction set is sent to the control system of the corresponding robot through a distributed computing framework to ensure that the instructions can be accurately executed; During the process of the multiple robots performing tasks, continuously monitoring the status information of each robot; According to the status information, the action instructions of each robot are adjusted in real time.
[0012] Optionally, dynamically allocating computing resources to the multiple robots according to the real-time data stream includes: The optimal resource configuration for dynamically allocating computing resources to the multiple robots is calculated by the following formula: ; in, represents the optimal resource allocation, Representative The task execution time of each robot, Representative The computing power of a robot, Represents the total number of robots, represents the calculation 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.
[0013] Optionally, adjusting the task execution strategies of the multiple robots through a real-time decision algorithm based on the processed data stream also includes: The task priorities in the adjusted task execution strategies of the multiple robots are calculated using the following formula: ; in, Represents the adjusted task priority, Represents the original task priority, Represents the increase in task execution time due to external interference, Represents the maximum allowed execution time of the task, Represents a weight factor, which is 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 energy consumption variation among multiple robots. Represents the maximum allowable energy consumption of the task.
[0014] Optionally, adjusting the task execution strategies of the multiple robots through a real-time decision algorithm based on the processed data stream also includes: The coordination coefficient of the coordination relationship between the multiple robots in the adjusted task execution strategy of the multiple robots is calculated using the following formula: ; in, Representative The robot and The cooperation coefficient between robots, and Respectively represent and The robot in The data value at a time point, and Respectively represent and The average data value of robots, represents the number of time points at which data was collected, 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 collaboration coefficient Used to quantify the effectiveness of data sharing and the level of collaboration between robots, and then guide the dynamic adjustment of task execution strategies.
[0015] In a second aspect, an embodiment of the present application provides a multi-robot control system, comprising: A collection module, used to collect real-time data streams generated by multiple robots during task execution; An allocation module, configured to dynamically allocate computing resources to the plurality of robots according to the real-time data stream, wherein the computing resource allocation is based on the current task complexity and the remaining computing capacity of each robot; An adjustment module, configured to process the real-time data stream using a distributed computing framework, and adjust the task execution strategies of the multiple robots through a real-time decision algorithm based on the processed data stream; The coordination module is used to coordinate the actions of the multiple robots according to the task execution strategy to improve the working efficiency and response speed of the multiple robots.
[0016] In a third aspect, an embodiment of the present application provides an electronic device, comprising a memory and a processor, wherein the memory stores a computer program, and the processor is configured to run the computer program to execute any multi-robot manipulation method described in the first aspect.
[0017] In a fourth aspect, an embodiment of the present application provides a computer storage medium having computer program instructions stored thereon, wherein the computer program instructions, when executed by a processor, implement the multi-robot control method described in any one of the first aspects. In an embodiment of the present application, real-time data streams generated by multiple robots during task execution are collected; computing resources are dynamically allocated to the multiple robots based on the real-time data streams, wherein the basis for the allocation of computing resources is the current task complexity and remaining computing power of each robot; the real-time data streams are processed 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; and the actions of the multiple robots are coordinated according to the task execution strategy to improve the work efficiency and response speed of the multiple robots. The technical solution provided by the present application improves the work efficiency and response speed of the multi-robot system, while enhancing the flexibility, adaptability and robustness of the system, and provides technical support for achieving more efficient multi-robot collaboration.
[0018] These and other aspects of the present application will become more clearly understood in the description of the following embodiments. BRIEF DESCRIPTION OF THE DRAWINGS
[0019] In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the following is a brief introduction to the drawings required for use in the embodiments or the description of the prior art. Obviously, the drawings described below are some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying any creative work.
[0020] Figure 1 A flowchart of multi-robot control provided in an embodiment of the present application; Figure 2 A schematic diagram of the structure of a multi-robot control system provided in an embodiment of the present application; Figure 3 A schematic diagram of the structure of a computing device provided in an embodiment of the present application. DETAILED DESCRIPTION
[0021] In order to enable those skilled in the art to better understand the solution of the present application, the technical solution in the embodiments of the present application will be clearly and completely described below in conjunction with the drawings in the embodiments of the present application.
[0022] In some of the processes described in the specification and claims of this application and the above-mentioned figures, multiple operations that appear in a specific order are included, but it should be clearly understood that these operations may not be executed in the order in which they appear in this article or executed in parallel. The serial numbers of the operations, such as 101, 102, etc., are only used to distinguish between different operations, and the serial numbers themselves do not represent any execution order. In addition, these processes may include more or fewer operations, and these operations may be executed in sequence or in parallel. It should be noted that the descriptions of "first", "second", etc. in this article are used to distinguish different messages, devices, modules, etc., do not represent the order of precedence, and do not limit the "first" and "second" to be different types.
[0023] The following will be combined with the drawings in the embodiments of the present application to clearly and completely describe the technical solutions in the embodiments of the present application. Obviously, the described embodiments are only part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by those skilled in the art without creative work are within the scope of protection of this application.
[0024] Figure 1 A flowchart of a multi-robot control method is provided for an embodiment of the present application, such as Figure 1 As shown, the method includes: 101. Collect real-time data streams generated by multiple robots during mission execution; In this step, you first need to understand the concept of "real-time data flow".
[0025] "Real-time data stream" refers to the continuous data set generated in real time by each robot's sensors and other data acquisition devices during the multi-robot execution process. This data may 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 status of the robot through data analysis, and make corresponding decisions and adjustments based on this status information.
[0026] In the embodiment of the present application, it is assumed that a team of three robots is performing a cargo handling task in a warehouse. The 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.), which can provide the robot's position information, posture information, speed information, etc. in real time.
[0027] In actual operation, each robot will continuously send this sensor data back to the central control system. For example, suppose the robot The location information is updated once a second, so in one minute, 60 location information records will be generated. These data are collected to form a data stream, which can be expressed as: ; Among them, each Indicated in Seconds Robot Similarly, robots B and C will also generate their own data streams.
[0028] Specifically, if in a simple example, suppose the position of robot A at the first second is , the position at the 2nd second is ,but: ; In this way, the central control system can obtain the real-time position information flow of all robots during task execution, which can be used for subsequent dynamic cold source allocation, task scheduling and other steps.
[0029] To further illustrate, suppose the robot At the positions from 1 second to 3 seconds, , while robots The positions in the same time period are Then, the position information flow of the two robots can be expressed as: ; These data streams will be used in subsequent steps to dynamically allocate computing resources, process real-time data streams, and other operations.
[0030] 102. Dynamically allocate computing resources to the multiple robots according to the real-time data stream, wherein the computing resources are allocated based on the current task complexity and remaining computing capacity of each robot; Optionally, the step 102 of dynamically allocating computing resources to the multiple robots according to the real-time data stream includes: evaluating the task complexity of the task currently performed by each robot based on the real-time data stream, the task complexity including the task type, the required computing amount, and the expected completion time; monitoring the computing resource usage of each robot in real time to determine the remaining computing capacity of each robot, the computing resource usage including CPU load, memory usage, storage space occupancy, and network bandwidth; predicting the required computing resource amount of each robot in a future time period based on the task complexity and the remaining computing capacity; 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, the computing resources including adjusting CPU frequency, allocating memory resources, optimizing storage access mode, and adjusting network priority.
[0031] Optionally, the step 102 of dynamically allocating computing resources to the plurality of robots according to the real-time data stream includes: The optimal resource configuration for dynamically allocating computing resources to the multiple robots is calculated by the following formula: ; in, represents the optimal resource allocation, Representative The task execution time of each robot, Representative The computing power of a robot, Represents the total number of robots, represents the calculation 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.
[0032] In this step, you need to understand several important concepts: Task complexity: refers to a comprehensive evaluation index of factors such as the amount of computing resources required for the robot to perform a task, the type of task, and the expected completion time. The higher the task complexity, the more computing resources are required.
[0033] Computing resource usage: refers to the current computing resource usage of the robot, including but not limited to CPU load, memory usage, storage space usage, and network bandwidth.
[0034] Remaining computing capacity: refers to the amount of computing resources that are not currently occupied by the robot, which is a key indicator in determining whether it can accept new tasks or more tasks.
[0035] Dynamic allocation of computing resources: Based on the task complexity and remaining computing capacity of each robot evaluated by real-time data streams, the computing resource allocation strategy is dynamically adjusted to ensure the rationality and efficiency of computing resource use.
[0036] In the embodiment of the present application, it is assumed that there is a team of five robots that are performing a complex task, such as sorting and moving goods in a warehouse. Each robot is responsible for different subtasks, which have different task complexities and required computing resources. The goal is to dynamically adjust the allocation of computing resources through real-time data streams to improve the overall task completion efficiency.
[0037] Specific steps for dynamically allocating computing resources: Evaluate task complexity: By analyzing real-time data streams, evaluate the task complexity of each robot's current task. Task complexity includes task type, required computational effort, expected completion time, etc.
[0038] Real-time monitoring of computing resource usage: Real-time monitoring of each robot's computing resource usage, including CPU load, memory usage, storage space occupancy, and network bandwidth, to determine the remaining computing capacity of each robot.
[0039] Predict the amount of computing resources required: Based on the task complexity and remaining computing power, predict the amount of computing resources required for each robot in the future period.
[0040] Dynamic allocation of computing resources: Based on the amount of computing resources required by each robot, dynamically adjust the allocation of computing resources to ensure the rationality and efficiency of computing resource use. The computing resources here include adjusting CPU frequency, allocating memory resources, optimizing storage access mode, and adjusting network priority.
[0041] Assume there are three robots A, B, and C. The task complexity and computing power of each robot are as follows: Robot A: Task execution time is 10 seconds and computing power is 1000 units.
[0042] Robot B: Task execution time is 15 seconds and computing power is 800 units.
[0043] Robot C: Task execution time is 12 seconds and computing power is 1200 units.
[0044] The optimal resource configuration for dynamically allocating computing resources to the multiple robots is calculated using the following formula: ; in, represents the optimal resource allocation, Representative The task execution time of each robot, Representative The computing power of a robot, Represents the total number of robots, represents the calculation 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.
[0045] Assumptions ,but: After simplification, we get: Further calculation yields: Therefore, the optimal resource allocation Approximately equal to 10.57.
[0046] Through the above steps, the computing beam source can be dynamically allocated according to the task complexity and remaining computing capacity of each robot, thereby improving the overall work efficiency and response speed of the multi-robot system.
[0047] 103. Processing the real-time data stream using a distributed computing framework, and adjusting the task execution strategies of the multiple robots through a real-time decision algorithm based on the processed data stream; Optionally, the task execution strategies of the multiple robots are adjusted through a real-time decision algorithm based on the processed data stream in step 103, including: 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 pre-set real-time decision algorithm, the real-time decision algorithm is used to formulate a task execution strategy according to the task complexity, computing resource usage and remaining computing power corresponding to each robot; according to the task execution strategy, dynamically adjust the task allocation and execution order of each robot.
[0048] Optionally, the step 103 of adjusting the task execution strategies of the multiple robots by a real-time decision algorithm based on the processed data stream further includes: calculating the task priorities in the adjusted task execution strategies of the multiple robots using the following formula: ; in, Represents the adjusted task priority, Represents the original task priority, Represents the increase in task execution time due to external interference, Represents the maximum allowed execution time of the task, Represents a weight factor, which is 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 energy consumption variation among multiple robots. Represents the maximum allowable energy consumption of the task.
[0049] Optionally, the step 103 of adjusting the task execution strategies of the multiple robots through a real-time decision algorithm based on the processed data stream further includes: The coordination coefficient of the coordination relationship between the multiple robots in the adjusted task execution strategy of the multiple robots is calculated using the following formula: ; in, Representative The robot and The cooperation coefficient between robots, and Respectively represent and The robot in The data value at a time point, and Respectively represent and The average data value of robots, represents the number of time points at which data was collected, 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 collaboration coefficient Used to quantify the effectiveness of data sharing and the level of collaboration between robots, and then guide the dynamic adjustment of task execution strategies.
[0050] In this step, you need to understand the following important concepts: 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.
[0051] Real-time decision-making algorithm: refers to an algorithm that can make decisions quickly based on the current state. In this step, this algorithm is used to adjust the robot's task execution strategy based on the processed data stream.
[0052] Task execution strategy: refers to formulating the optimal task allocation and execution sequence based on the robot's task complexity, computing resource usage, and remaining computing power.
[0053] Task priority: refers to the importance and urgency of the task, which determines the order in which the tasks are executed.
[0054] Collaboration coefficient: refers to a quantitative indicator to measure the level of collaboration between robots, reflecting the effectiveness of data sharing and the level of collaboration between robots.
[0055] In the embodiment of the present application, it is assumed that there is a team of four robots performing a complex task, such as automated assembly on a factory production line. Each robot is responsible for different subtasks, which have different task complexities and required computing resources. The goal is to dynamically adjust the task execution strategy of each robot through real-time data flow and distributed computing framework to improve the overall task completion efficiency.
[0056] Processing the real-time data stream using a distributed computing framework: Processing the real-time data stream from multiple robots using a distributed computing framework, including data collection, cleaning, conversion, and preliminary analysis.
[0057] Obtain the task complexity, computing resource usage, and remaining computing power corresponding to each robot: Based on the processed data stream, extract the current task complexity, computing resource usage (such as CPU load, memory usage, storage space occupancy, network bandwidth, etc.) and remaining computing power of each robot.
[0058] Adjust the task execution strategies of the multiple robots through a real-time decision algorithm: input the above information into a pre-set real-time decision algorithm to formulate a task execution strategy. The strategy includes dynamically adjusting the task allocation and execution order of each robot.
[0059] Calculate the adjusted task priority: Use the following formula to calculate the adjusted task priority: ; in, Represents the adjusted task priority, Represents the original task priority, Represents the increase in task execution time due to external interference, Represents the maximum allowed execution time of the task, Represents a weight factor, which is 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 energy consumption variation among multiple robots. Represents the maximum allowable energy consumption of the task.
[0060] Assumptions , , , , , ,and , , : Therefore, the adjusted task priority It is 19.14.
[0061] Furthermore, the cooperation coefficient of the cooperation relationship between multiple robots in the adjusted task execution strategy is calculated: The collaboration coefficient is calculated using the following formula: ; in, Representative The robot and The cooperation coefficient between robots, and Respectively represent and The robot in The data value at a time point, and Respectively represent and The average data value of robots, represents the number of time points at which data was collected, 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 collaboration coefficient Used to quantify the effectiveness of data sharing and the level of collaboration between robots, and then guide the dynamic adjustment of task execution strategies.
[0062] Assumptions ,and , ,but: Therefore, the cooperation coefficient It is 1.5375.
[0063] 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 work efficiency and response speed of the multi-robot system.
[0064] 104. Coordinate the actions of the multiple robots according to the task execution strategy to improve the working efficiency and response speed of the multiple robots.
[0065] Optionally, the step 104 of coordinating the actions of the multiple robots according to the task execution strategy includes: generating an action instruction set for each robot according to the task execution strategy, the action instruction set including the collaborative relationship between the multiple robots and relevant instructions on their respective task priorities; issuing the action instruction set to the control systems of the corresponding robots through a distributed computing framework to ensure that the instructions can be accurately executed; continuously monitoring the status information of each robot during the process of the multiple robots performing tasks; and adjusting the action instructions of each robot in real time according to the status information.
[0066] In this step, you need to understand the following important concepts: Task execution strategy: The optimal task allocation and execution sequence is formulated based on real-time data flow and computing resource allocation.
[0067] Action instruction set: Specific operation instructions for each robot generated according to the task execution strategy, including instructions related to collaboration relationships and task priorities.
[0068] Distributed computing framework: A technical framework that can support large-scale data processing and distributed task scheduling, such as Apache Hadoop or Apache Spark.
[0069] Status information: refers to the real-time status of the robot during the execution of the task, including position, speed, load, energy consumption and other information.
[0070] Real-time adjustment: Dynamically adjust the robot's action instructions based on changes in status information to adapt to environmental changes and task requirements.
[0071] In the embodiment of the present application, it is assumed that there is a team of four robots that are performing a complex task, such as cargo handling and sorting in a warehouse. Each robot is responsible for different subtasks, which have different task complexities and required computing resources. The goal is to dynamically adjust the task execution strategy of each robot through real-time data streams and distributed computing frameworks to improve the overall task completion efficiency.
[0072] 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 specific operation instructions, cooperation relationships and respective task priorities of the robots.
[0073] The action instruction set is sent to the control system of the corresponding robot through a distributed computing framework: The generated action instruction set is sent to the control system of each robot through a distributed computing framework (such as Apache Spark) to ensure that the instructions can be accurately executed. The purpose of this is to ensure that each robot can adjust its actions according to the latest task execution strategy.
[0074] During the process of the multiple robots performing tasks, the status information of each robot is continuously monitored: during the entire task execution process, the status information of each robot is continuously monitored, including position, speed, load, energy consumption, etc., so as to understand the execution status of each robot in real time.
[0075] Based on the status information, the action instructions of each robot are adjusted in real time: Based on the monitored status information, if a robot is found to encounter a problem or the task requirements have changed, the task execution strategy is immediately recalculated through the real-time decision-making algorithm, and the action instruction set is adjusted accordingly to ensure that the task can be completed efficiently.
[0076] Assume that there are four robots A, B, C, and D, which are performing a complex warehouse cargo handling task. The task complexity, computing resource usage, and remaining computing power of each robot are as follows: Robot A: The task execution time is 10 seconds, the computing power is 1000 units, and the remaining computing power is 80%.
[0077] Robot B: Task execution time is 15 seconds, computing power is 800 units, and remaining computing power is 70%.
[0078] Robot C: Task execution time is 12 seconds, computing power is 1200 units, and remaining computing power is 90%.
[0079] Robot D: Task execution time is 8 seconds, computing power is 900 units, and remaining computing power is 75%.
[0080] According to the task execution strategy, generate the action instruction set for each robot: Robot A: Prioritizes Task 1, then Task 2.
[0081] Robot B: Prioritizes Task 3, then Task 4.
[0082] Robot C: Execute Task 5 first, then Task 6.
[0083] Robot D: Prioritize Task 7, then Task 8.
[0084] Through the distributed computing framework Apache Spark, these action instruction sets are sent to the control system of each robot, ensuring that each robot can adjust its actions according to the latest task execution strategy.
[0085] During the execution process, the status information of each robot is continuously monitored, such as the position information as follows: The position information of robot A is [(10, 10), (11, 11), (12, 12)].
[0086] The position information of robot B is [(20, 20), (21, 21), (22, 22)].
[0087] The position information of robot C is [(30, 30), (31, 31), (32, 32)].
[0088] The position information of robot D is [(40, 40), (41, 41), (42, 42)].
[0089] If a robot (e.g., robot B) encounters an obstacle or the task requirements change, the real-time decision-making algorithm will be used to recalculate the task execution strategy and adjust the action instruction set accordingly. For example, if robot B encounters an obstacle, it may be necessary to reallocate tasks to other robots or adjust the order of tasks.
[0090] 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 work efficiency and response speed of the multi-robot system.
[0091] Figure 2 A schematic diagram of a multi-robot control system is provided for an embodiment of the present application, such as Figure 2 As shown, the system includes: A collection module 21 is used to collect real-time data streams generated by multiple robots during task execution; An allocation module 22, configured to dynamically allocate computing resources to the plurality of robots according to the real-time data stream, wherein the computing resource allocation is based on the current task complexity and the remaining computing capacity of each robot; An adjustment module 23, configured to process the real-time data stream using a distributed computing framework, and adjust the task execution strategies of the multiple robots through a real-time decision algorithm based on the processed data stream; The coordination module 24 is used to coordinate the actions of the multiple robots according to the task execution strategy to improve the working efficiency and response speed of the multiple robots.
[0092] Figure 2The multi-robot control system can perform Figure 1 The implementation principle and technical effect of the multi-robot control method described in the illustrated embodiment will not be described in detail. The specific manner in which each module and unit performs operations in the multi-robot control system in the above embodiment has been described in detail in the embodiment of the method, and will not be described in detail here.
[0093] In one possible design, Figure 2 The multi-robot control system of the illustrated embodiment can be implemented as a computing device, such as Figure 3 As shown, the computing device may include a storage component 31 and a processing component 32; The storage component 31 stores one or more computer instructions, wherein the one or more computer instructions are called and executed by the processing component 32 .
[0094] The processing component 32 is used to: collect real-time data streams generated by multiple robots during task execution; dynamically allocate computing resources to the multiple robots based on the real-time data streams, wherein the computing resource allocation is based on the current task complexity and remaining computing power of each robot; use a distributed computing framework to process the real-time data streams, and adjust the task execution strategies of the multiple robots through a real-time decision-making algorithm based on the processed data streams; and coordinate the actions of the multiple robots based on the task execution strategies to improve the work efficiency and response speed of the multiple robots.
[0095] 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 to perform the above method.
[0096] The storage component 31 is configured to store various types of data to support operations at the terminal. The storage component can 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.
[0097] Of course, the computing device may also include other components, such as input / output interfaces, display components, communication components, etc.
[0098] The input / output interface provides an interface between the processing component and the peripheral interface module, which may be an output device, an input device, etc.
[0099] The communication component is configured to facilitate, among other things, wired or wireless communications between the computing device and other devices.
[0100] Among them, the computing device can be a physical device or an elastic computing host provided by a cloud computing platform, etc. In this case, the computing device can refer to a cloud server, and the above-mentioned processing components, storage components, etc. can be basic server resources rented or purchased from the cloud computing platform.
[0101] The present application also provides a computer storage medium storing a computer program, wherein the computer program can achieve the above-mentioned Figure 1 The multi-robot control method of the illustrated embodiment.
[0102] Those skilled in the art can clearly understand that, for the convenience and brevity of description, the specific working processes of the systems, devices and units described above can refer to the corresponding processes in the aforementioned method embodiments and will not be repeated here.
[0103] The system embodiment described above is merely illustrative, wherein 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 they may be distributed on multiple network units. Some or all of the modules may be selected according to actual needs to achieve the purpose of the solution of this embodiment. Those of ordinary skill in the art may understand and implement it without creative effort.
[0104] Through the description of the above implementation methods, those skilled in the art can clearly understand that each implementation method can be implemented by means of software plus a necessary general hardware platform, and of course, can also be implemented by hardware. Based on this understanding, the above technical solution is essentially or the part that contributes to the prior art can be embodied in the form of a software product, and the computer software product can be stored in a computer-readable storage medium, such as ROM / RAM, a disk, an optical disk, etc., including a number of instructions for 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.
[0105] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present application, rather than to limit it. Although the present application has been described in detail with reference to the aforementioned embodiments, those skilled in the art should understand that they can still modify the technical solutions described in the aforementioned embodiments, or make equivalent replacements for some of the technical features therein. However, these modifications or replacements do not deviate the essence of the corresponding technical solutions from the spirit and scope of the technical solutions of the embodiments of the present application.
Claims
1. A multi-robot control method, characterized in that: include: Collect real-time data streams generated by multiple robots during mission execution; Dynamically allocate computing resources to the multiple robots according to the real-time data stream, wherein the computing resources are allocated based on the current task complexity and remaining computing capacity of each robot; Processing the real-time data stream using a distributed computing framework, and adjusting the task execution strategies of the multiple robots through a real-time decision algorithm based on the processed data stream; According to the task execution strategy, the actions of the multiple robots are coordinated to improve the working efficiency and response speed of the multiple robots.
2. The method according to claim 1, characterized in that The dynamically allocating computing resources to the plurality of robots according to the real-time data stream comprises: Based on the real-time data stream, evaluate the task complexity of the task currently performed by each robot, wherein the task complexity includes the task type, the required computation amount, and the expected completion time; Monitor the computing resource usage of each robot in real time to determine the remaining computing capacity of each robot, wherein the computing resource usage includes CPU load, memory usage, storage space occupancy, and network bandwidth; Based on the task complexity and the remaining computing capacity, predict the required computing resources of each robot in a future period; Based on the required computing resources of each robot, computing resources are dynamically allocated to the multiple robots to ensure the rationality and efficiency of the use of computing resources. The computing resources include adjusting CPU frequency, allocating memory resources, optimizing storage access mode, and adjusting network priority.
3. The method according to claim 2, characterized in that The step of adjusting the task execution strategies of the multiple robots based on the processed data stream by a real-time decision algorithm includes: Based on the preprocessed data stream, the task complexity, computing resource usage and remaining computing capacity corresponding to each robot are obtained and input into a pre-set real-time decision algorithm, which is used to formulate a task execution strategy according to the task complexity, computing resource usage and remaining computing capacity corresponding to each robot; According to the task execution strategy, the task allocation and execution order of each robot are dynamically adjusted.
4. The method according to claim 3, characterized in that The step of coordinating the actions of the plurality of robots according to the task execution strategy comprises: According to the task execution strategy, an action instruction set for each robot is generated, wherein the action instruction set includes instructions related to the cooperation relationship between the multiple robots and their respective task priorities; The action instruction set is sent to the control system of the corresponding robot through a distributed computing framework to ensure that the instructions can be accurately executed; During the process of the multiple robots performing tasks, continuously monitoring the status information of each robot; According to the status information, the action instructions of each robot are adjusted in real time.
5. The method according to claim 4, characterized in that The dynamically allocating computing resources to the plurality of robots according to the real-time data stream comprises: The optimal resource configuration for dynamically allocating computing resources to the multiple robots is calculated by the following formula: ; in, represents the optimal resource allocation, Representative The task execution time of each robot, Representative The computing power of a robot, Represents the total number of robots, represents the calculation 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.
6. The method according to claim 5, characterized in that The step of adjusting the task execution strategies of the plurality of robots through a real-time decision algorithm based on the processed data stream further includes: The task priorities in the adjusted task execution strategies of the multiple robots are calculated using the following formula: ; in, Represents the adjusted task priority, Represents the original task priority, Represents the increase in task execution time due to external interference, Represents the maximum allowed execution time of the task, Represents a weight factor, which is 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 energy consumption variation among multiple robots. Represents the maximum allowable energy consumption of the task.
7. The method according to claim 1, characterized in that The step of adjusting the task execution strategies of the plurality of robots through a real-time decision algorithm based on the processed data stream further includes: The coordination coefficient of the coordination relationship between the multiple robots in the adjusted task execution strategy of the multiple robots is calculated using the following formula: ; in, Representative The robot and The cooperation coefficient between robots, and Respectively represent and The robot in The data value at a time point, and Respectively represent and The average data value of robots, represents the number of time points at which data was collected, 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 collaboration coefficient Used to quantify the effectiveness of data sharing and the level of collaboration between robots to guide the dynamic adjustment of task execution strategies.
8. A multi-robot control system, characterized in that: include: A collection module, used to collect real-time data streams generated by multiple robots during task execution; An allocation module, configured to dynamically allocate computing resources to the plurality of robots according to the real-time data stream, wherein the computing resource allocation is based on the current task complexity and the remaining computing capacity of each robot; An adjustment module, configured to process the real-time data stream using a distributed computing framework, and adjust the task execution strategies of the multiple robots through a real-time decision algorithm based on the processed data stream; The coordination module is used to coordinate the actions of the multiple robots according to the task execution strategy to improve the working efficiency and response speed of the multiple robots.
9. An electronic device, comprising a memory and a processor, characterized in that: The memory stores a computer program, and the processor is configured to run the computer program to execute the multi-robot manipulation method according to any one of claims 1 to 7.
10. A computer storage medium having computer program instructions stored thereon, characterized in that: When the computer program instructions are executed by a processor, the multi-robot manipulation method according to any one of claims 1 to 7 is implemented.
Citation Information
Patent Citations
Control method for multi-robot system
CN101551661A
Technologies for dynamic remote resource allocation
CN109313582A
Dynamic avoidance method for multiple robots in collaborative operation
CN110209485A
Robot calling method, robot calling device, management system and storage medium
CN113268331A
Cloud edge collaborative data resource allocation method and system
CN119396584A