Object recognition and task processing method and system for multi-robot competition collaboration
By defining the task service quality level and real-time monitoring of load changes, CPU resources are dynamically allocated, which solves the problems of ambiguous resource allocation decisions and insufficient identification of load changes, and improves resource utilization and task execution efficiency.
Patent Information
- Application Number
- CN202511083489.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-08-04
- Publication Date
- 2025-09-26
- Estimated Expiration
- 2045-08-04
AI Technical Summary
Existing technologies have problems in resource allocation, such as ambiguous resource allocation decisions, resource waste or bottlenecks, and drastic fluctuations in task execution performance. They fail to effectively identify load change trends, resulting in inefficient resource utilization.
By pre-defining the task service quality level, quantifying CPU resource consumption and performance based on visual sensor data resolution and algorithm complexity, monitoring CPU load changes in real time, generating global collaborative QoS control instructions, dynamically allocating CPU resource time slices, and optimizing resource allocation strategies.
It achieves improved accuracy, real-time performance and sensitivity in resource allocation, improves resource utilization and task execution efficiency of multi-robot systems, and enhances system responsiveness.
Smart Images

Figure CN120552091B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of resource allocation, and in particular to an object recognition and task processing method and system for multi-machine collaborative competition robots. Background Art
[0002] The field of resource allocation technology mainly involves the rational allocation of resources, maximization of utilization efficiency and optimization of overall system performance through efficient decision-making methods, optimization strategies and scheduling mechanisms for multi-device, multi-task or multi-user system environments under limited resource conditions.
[0003] Existing technologies often rely solely on static resource allocation methods in actual resource allocation operations, without grading or correlating resource demand with performance. This leads to ambiguous and crude resource allocation decisions, reducing resource utilization efficiency. Existing technologies often monitor system resource status with a lagging or discrete approach, lacking sensitivity to load trends. This makes it difficult to promptly identify and resolve localized load hotspots, leading to resource waste or bottlenecks. Furthermore, existing resource allocation strategies typically only consider the current resource state, ignoring the relative trends in actual task performance and resource gain. This can lead to resource skew or task starvation, resulting in significant fluctuations in task execution performance and reduced overall task processing stability. Therefore, improvements are needed. Summary of the Invention
[0004] The purpose of the present invention is to solve the shortcomings of the prior art and to propose a method and system for object recognition and task processing by multi-machine collaboration of competition robots.
[0005] To achieve the above objectives, the present invention adopts the following technical solution: a method for multi-robot collaborative object recognition and task processing for competition robots, comprising the following steps:
[0006] Predefine multiple service quality levels for collaborative robot target object recognition and path planning calculation tasks. Based on the visual sensor data resolution and algorithm complexity at different levels, obtain the corresponding CPU resource consumption and task processing performance for each level, and generate a quantitative table of task service quality levels and resource requirements;
[0007] Collect the average CPU load data of all collaborative robots in real time, calculate the global system load value, compare the global system load value with the preset high load threshold and low load threshold, obtain the target service quality level of each task, and establish global collaborative QoS control instructions;
[0008] Based on the global collaborative QoS control instruction and the task service quality level and resource demand quantification table, extract the CPU resources currently allocated to each computing task and the corresponding performance resources, calculate the resource elasticity potential energy score, arrange the resource elasticity potential energy scores of all computing tasks in descending order, and establish a task resource elasticity potential energy ranking list;
[0009] When idle CPU resources are detected, the task resource elastic potential energy ranking list is called to obtain the computing task with the highest resource elastic potential energy score, the idle CPU resource time slice is allocated to the computing task, and an allocation instruction set of tasks and CPU time slices is generated. According to the allocation instruction set of tasks and CPU time slices, the priority and execution time quota of the computing task in the scheduling queue are updated to obtain a dynamic CPU time slice allocation plan.
[0010] Preferably, the steps for obtaining the task service quality level and resource requirement quantitative table are:
[0011] Based on the collaborative robot's target object recognition and path planning calculation tasks, the resolution of the visual sensor data and the algorithm complexity are determined respectively. The CPU resource consumption and task processing performance under each task's service quality level are calculated one by one, and the CPU resource consumption and task processing performance parameters corresponding to each level are obtained.
[0012] According to the CPU resource consumption and task processing performance parameters, the relationship between the task processing performance parameters and the CPU resource consumption at all levels is fitted, the task performance change trend under different CPU resource consumptions is quantified, and the functional relationship between the task performance and the CPU resource consumption is obtained;
[0013] Based on the functional relationship between the task performance and the CPU resource consumption, the performance change range of each task service quality level after the CPU resource consumption is increased or decreased is calculated, and the performance change range is used as the performance improvement potential indicator. The performance improvement potential indicator and the corresponding resource consumption value are associated according to the service quality level to form a quantitative table of task service quality level and resource demand.
[0014] Preferably, the step of obtaining the global system load value is:
[0015] The average CPU load value recorded by each collaborative robot in the current scheduling cycle is extracted, and the difference is calculated by combining it with the load value of the corresponding robot number in the previous scheduling cycle. The difference is divided by the length of the scheduling cycle to generate the CPU load change rate. A joint data set consisting of the CPU average load value and CPU load change rate of each collaborative robot is established by number. All CPU average load values are normalized, squared, averaged, and squared to calculate the current baseline load value of the system.
[0016] A global system load value is calculated based on the CPU average load value, the CPU load change rate, and the current benchmark load value of the system.
[0017] Preferably, the steps of obtaining the global collaborative QoS control instruction are:
[0018] An interval mapping judgment is performed based on the global system load value and the set high load threshold and low load threshold, and the judgment result is cross-correlated with the urgency identifier of each task in the scheduling task list. The table is looked up to obtain the matching task service quality level item, and a global collaborative QoS control instruction is generated.
[0019] Preferably, the steps for obtaining the resource elasticity potential score are:
[0020] Based on the global collaborative QoS control instruction and the task service quality level and resource demand quantification table, extract the current CPU resource allocation value of each computing task according to the task number, and construct a task resource performance load set;
[0021] A resource elasticity potential score is calculated based on the task resource performance load set.
[0022] Preferably, the steps for obtaining the task resource elastic potential energy sorting list are:
[0023] All computing tasks are sorted in descending order according to the resource elasticity potential energy scores, and the number of each computing task in the sorting result is combined with the corresponding resource elasticity potential energy score to generate a task resource elasticity potential energy sorting list.
[0024] Preferably, the steps for obtaining the task and CPU time slice allocation instruction set are:
[0025] Monitor the current CPU resource operating status of each collaborative robot, identify collaborative robots whose CPU resource utilization has not reached the upper limit, determine the number of idle CPU resource time slices that can be further allocated to each collaborative robot, and generate a set of idle CPU resource time slices;
[0026] Based on the idle CPU resource time slice set, the task resource elastic potential energy sorting list is called, and the computing tasks that have not reached the resource configuration upper limit and whose resource elastic potential energy scores are at the front of the sorting list are retrieved in turn from the sorting list, and the idle CPU resource time slices are matched one by one. The corresponding CPU resource time slices are bound to the computing task numbers, and an allocation instruction set of tasks and CPU time slices is generated.
[0027] Preferably, the steps for obtaining the dynamic CPU time slice allocation scheme are:
[0028] Based on the task and CPU time slice allocation instruction set, the priority ranking value and execution time quota value of the corresponding computing task in the scheduling queue are updated one by one, the computing task scheduling queue is re-prioritized and quota allocated, and a dynamic CPU time slice allocation plan is generated.
[0029] The present invention also provides an object recognition and task processing system, comprising:
[0030] The task modeling module predefines multiple service quality levels for the collaborative robot's target object recognition and path planning calculation tasks. Based on the visual sensor data resolution and algorithm complexity at different levels, it obtains the CPU resource consumption and task processing performance corresponding to each level, and generates a quantitative table of task service quality levels and resource requirements;
[0031] The system load monitoring module collects the average CPU load data of all collaborative robots in real time, calculates the global system load value, compares the global system load value with the preset high load threshold and low load threshold, obtains the target service quality level of each task, and establishes global collaborative QoS control instructions;
[0032] A resource evaluation and ranking module, based on the global collaborative QoS control instructions and the task service quality level and resource demand quantitative table, extracts the CPU resources currently allocated to each computing task and the corresponding performance resources, calculates the resource elasticity potential energy score, arranges the resource elasticity potential energy scores of all computing tasks in descending order, and establishes a task resource elasticity potential energy ranking list;
[0033] The scheduling optimization module, when detecting the occurrence of idle CPU resources, calls the task resource elastic potential energy sorting list, obtains the computing task with the highest resource elastic potential energy score, allocates the idle CPU resource time slice to the computing task, generates an allocation instruction set for tasks and CPU time slices, updates the priority and execution time quota of the computing task in the scheduling queue according to the allocation instruction set for tasks and CPU time slices, and obtains a dynamic CPU time slice allocation plan.
[0034] Compared with the prior art, the advantages and positive effects of the present invention are:
[0035] The present invention defines multiple task service quality levels in advance, maps different visual data resolutions and algorithm complexity into CPU resource requirements and task processing performance indicators, so as to achieve a quantitative association between tasks and resource requirements and improve the accuracy of resource allocation; at the same time, it perceives the CPU load status of the robot cluster in real time, establishes dynamic QoS control instructions by combining the load change trend with the task urgency, and improves the real-time and sensitivity of resource allocation; and further performs differential analysis and dynamic evaluation of task resource allocation and performance based on QoS instructions, generates elastic potential energy scores to sort task priorities in real time, and realizes dynamic optimization and adaptive adjustment of resource allocation strategies; when the CPU resource idle state is detected, it automatically calls the task with the highest elastic potential energy score and allocates the corresponding idle resource time slice, so as to dynamically update the task scheduling queue priority and execution time quota, and improve the resource utilization rate, task execution efficiency and system responsiveness of the multi-robot system. BRIEF DESCRIPTION OF THE DRAWINGS
[0036] Figure 1 Schematic diagram of the steps of the present invention. DETAILED DESCRIPTION
[0037] In order to make the purpose, technical solutions and advantages of the present invention more clearly understood, the present invention will be further described in detail below with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present invention and are not intended to limit the present invention.
[0038] See also Figure 1 The present invention provides a technical solution for multi-robot collaborative object recognition and task processing in a competition robot, comprising the following steps:
[0039] Predefine multiple service quality levels for collaborative robot target object recognition and path planning calculation tasks. Based on the visual sensor data resolution and algorithm complexity at different levels, obtain the corresponding CPU resource consumption and task processing performance for each level, and generate a quantitative table of task service quality levels and resource requirements;
[0040] Collect the average CPU load data of all collaborative robots in real time, calculate the global system load value, compare the global system load value with the preset high load threshold and low load threshold, obtain the target service quality level of each task, and establish global collaborative QoS control instructions;
[0041] Based on the global collaborative QoS control instructions and the task service quality level and resource demand quantification table, the currently allocated CPU resources and corresponding performance resources of each computing task are extracted, and the resource elasticity potential energy score is calculated. The resource elasticity potential energy scores of all computing tasks are sorted in descending order to establish a task resource elasticity potential energy ranking list;
[0042] When idle CPU resources are detected, the task resource elastic potential energy sorting list is called to obtain the computing task with the highest resource elastic potential energy score, and the idle CPU resource time slice is allocated to the computing task. An instruction set for allocating tasks and CPU time slices is generated, and the priority and execution time quota of the computing task in the scheduling queue are updated according to the instruction set for allocating tasks and CPU time slices to obtain a dynamic CPU time slice allocation plan.
[0043] The steps to obtain the task service quality level and resource requirement quantitative table are as follows:
[0044] Based on the collaborative robot's target object recognition and path planning calculation tasks, the resolution of the visual sensor data and the algorithm complexity are determined respectively. The CPU resource consumption and task processing performance under each task's service quality level are calculated one by one, and the CPU resource consumption and task processing performance parameters corresponding to each level are obtained.
[0045] Based on the CPU resource consumption and task processing performance parameters, the relationship between task processing performance parameters and CPU resource consumption at all levels is fitted, the task performance change trend under different CPU resource consumption is quantified, and the functional relationship between task performance and CPU resource consumption is obtained;
[0046] Based on the functional relationship between task performance and CPU resource consumption, the performance change range of each task service quality level after the CPU resource consumption is increased or decreased is calculated, and the performance change range is used as the performance improvement potential indicator. The performance improvement potential indicator and the corresponding resource consumption value are associated according to the service quality level to form a quantitative table of task service quality level and resource demand.
[0047] Specifically, based on the collaborative robot target object recognition and path planning calculation tasks, three discrete task service quality levels are first set for each task type, namely level 1 (low quality), level 2 (medium quality) and level 3 (high quality). Then, for the target object recognition task, different levels are bound to specific visual sensor data resolutions and recognition algorithms. For example, level 1 corresponds to 320x240 image resolution and color feature-based template matching algorithm, level 2 corresponds to 640x480 resolution and YOLOv3-tiny lightweight neural network model, and level 3 corresponds to 1280x720 high resolution and YOLOv5s standard neural network model. Similarly, for the path planning task, different levels are bound to the algorithm's search depth and the complexity of the dynamic obstacle avoidance strategy. For example, level 1 corresponds to algorithm A based on 5x5 grid map, level 2 corresponds to algorithm A based on 10x10 grid map and introducing time elastic band (TEB) method, and level 3 corresponds to the planning algorithm using dynamic window method (DWA) and real-time consideration of the robot kinematic model. After completing the level definition and After binding the technical parameters, the specified algorithm configuration was independently run for each task and each quality of service level in a controlled experimental environment, and performance analysis was performed. Specifically, a task of a specific level was repeatedly executed 100 times on a single robot. Using the system's built-in performance counter tool, CPU utilization was sampled at 10-millisecond intervals during each execution. The average CPU utilization over these 100 executions was calculated as the CPU resource consumption for that level. Task processing performance metrics were also recorded. For the object recognition task, the performance metric was the mean average precision (mAP) on a standard test set. For the path planning task, the performance metric was the average time required to successfully plan a feasible path in 10 pre-set standard scenarios. Finally, the configuration parameters, calculated CPU resource consumption values, and corresponding task processing performance metric values for each task at each quality of service level were compiled to form a parameter set containing fields such as level identifier, resolution, algorithm type, average CPU utilization, mean average precision, and average planning time. The corresponding CPU resource consumption and task processing performance parameters for each level were then obtained.
[0048] Based on the CPU resource consumption and task processing performance parameters, a function is fitted to the data point set of each computing task. Taking the target object recognition task as an example, data pairs of CPU resource consumption and task processing performance (here, mean average precision (mAP) is used as the performance indicator) corresponding to three service quality levels are extracted from the aforementioned parameter set, such as (15%, 0.55 mAP), (40%, 0.75 mAP), and (75%, 0.90 mAP). Since the marginal benefits of resource investment are usually decreasing, a logarithmic function model is selected to describe the relationship between performance and resources. Its function form is: ,in is the task performance, R is the CPU resource consumption, and 、 、 are the coefficients to be fitted, and the parameters are adjusted by applying nonlinear least squares, specifically the Levenberg-Marquardt algorithm. 、 、 To minimize the residual sum of squares between the measured performance value and the function predicted performance value, that is, to minimize , where N is the number of service quality levels, which is 3 in this case. Through iterative calculation, a set of optimal parameter values is obtained. For example, after calculation, , , , therefore, the performance and resource function relationship of the target object recognition task is determined as ,The same process is used for path planning tasks and all other computing tasks.,Their respective resource performance data points are extracted and function fitting is performed independently.,A mathematical model between the performance and resource consumption of each task is established,,and the functional relationship between task performance and CPU resource,consumption is obtained.
[0049] Based on the functional relationship between task performance and CPU resource consumption, the function is used to evaluate the marginal gain of performance at different resource levels. This marginal gain is the performance change range. Specifically, by calculating the performance function About resource volume The first derivative of To quantify the performance improvement potential, take the target object recognition task as an example, its performance function is , its derivative function is ,Then, for each preset service quality level of the task, its corresponding nominal CPU resource consumption is substituted into the derivative function for calculation. For level 1 (low quality), its nominal resource consumption is 15%, and its performance improvement potential index is calculated as For level 2 (medium quality), the nominal resource consumption is 40%, and the performance improvement potential index is calculated as For level 3 (high quality), the nominal resource consumption is 75%, and the performance improvement potential index is calculated as These calculated derivative values reflect the performance improvement that can be brought about by adding one unit of CPU resources under the current resource allocation level. The higher the value, the greater the benefit of increasing resources. Finally, each service quality level of each computing task is structurally associated with its corresponding nominal CPU resource consumption, nominal task performance value and calculated performance improvement potential index to form a data table. Each row of the table records a service quality level of a task, and the columns include task ID, service quality level ID, nominal CPU resource consumption, nominal performance value and performance improvement potential index, forming a quantitative table of task service quality level and resource demand.
[0050] The steps to obtain the global system load value are:
[0051] The average CPU load value recorded by each collaborative robot in the current scheduling cycle is extracted, and the difference is calculated by combining it with the load value of the corresponding robot number in the previous scheduling cycle. The difference is divided by the length of the scheduling cycle to generate the CPU load change rate. A joint data set consisting of the CPU average load value and CPU load change rate of each collaborative robot is established by number. All CPU average load values are normalized, squared, averaged, and squared to calculate the current baseline load value of the system.
[0052] The global system load value is calculated based on the average CPU load value, the CPU load change rate, and the current system baseline load value. The calculation formula is:
[0053] ;
[0054] in, is the global system load value, is the total number of collaborative robots, For the The average CPU load value of the collaborative robot, For the The CPU load change rate of each collaborative robot, The upper limit of CPU capacity of a single collaborative robot. Represents the adaptive prediction time coefficient calculated based on the current benchmark load value of the system, defined as:
[0055] ;
[0056] in, is the lower limit of the prediction time coefficient, is the upper limit of the prediction time coefficient, is the growth steepness control factor, is the center alignment value of the Sigmoid function, is the current baseline load value of the system, defined as: .
[0057] Specifically, the average CPU load value recorded by each collaborative robot in the current scheduling cycle is extracted. Specifically, at the beginning of each scheduling cycle, for example, a cycle with a duration of 500 milliseconds, the system monitoring process reads the total duration of the CPU time slice in the past 500 milliseconds from the operating system kernel of each collaborative robot, and divides it by the cycle length to obtain a percentage value between 0 and 100 as the CPU average load value of the cycle. At the same time, the system will call the CPU average load value corresponding to the current robot number stored in the previous scheduling cycle from the memory, and calculate the difference between the load value of the current cycle and the load value of the previous cycle. For example, if the current load of robot 1 is 65% and the previous cycle is 60%, the difference is 5%. Then divide the difference by the scheduling cycle length of 0.5 seconds to get the CPU load The load change rate is 10 percentage points per second. Then, the system organizes the unique number of each collaborative robot, the latest calculated CPU average load value and the CPU load change rate into a record. The records of all robots are aggregated to form a temporary joint data set. The structure of this data set is a table with the robot number as the primary key, and the columns include the CPU average load value and the CPU load change rate. Then, the CPU average load value of all robots in this joint data set is traversed, and each load value is normalized using the upper limit of 100% of the CPU capacity of a single collaborative robot. For example, 65% of the load is normalized to 0.65. All normalized load values are squared one by one, and then the arithmetic mean of these square values is calculated. Finally, the square root operation is performed on the average value to calculate the current benchmark load value of the system.
[0058] formula: ,in, ;
[0059] The benefit of the formula is that it introduces an adaptive prediction time coefficient , which is different from the static evaluation method based only on the current load snapshot, the change rate of CPU load Taking into account, it is possible to predict short-term load trends, the coefficient The Sigmoid function is used to make the predicted time window size based on the current system benchmark load Perform nonlinear adjustment. When the system load is low, The smaller the value, the more conservative the system prediction of load changes is, thus avoiding overreaction to transient noise. When the system load is close to saturation, The value will increase rapidly, thereby amplifying the impact of the load change rate, allowing the system to warn and respond to the upcoming high-load impact earlier, effectively preventing system overload and a sharp decline in service quality. The entire formula uses a root mean square (RMS) structure, which can better highlight the impact of high-load robots and make the evaluation results more sensitive to potential bottlenecks in the system.
[0060] is the total number of collaborative robots. This parameter is obtained by querying the robot management service in the system. The service maintains a list of currently registered and active robots in real time. Each time the global system load value is calculated, a request is made to the service to obtain the total number of robots. For example, in a collaborative cluster consisting of 5 robots, the number of active robots returned by the management service is 5, then .
[0061] For the The average CPU load value of each collaborative robot is calculated and reported by the monitoring agent deployed on each robot at the end of each scheduling cycle. The monitoring agent samples the busy time of the CPU core at intervals of 10 milliseconds and calculates the average percentage of CPU time occupied during a complete scheduling cycle (for example, 500 milliseconds). This value reflects the computing resource consumption of the robot in the most recent time window. For example, if the CPU of robot 1 is occupied for a total of 325 milliseconds in a 500-millisecond cycle, its average CPU load value is ,Right now .
[0062] For the The CPU load change rate of each collaborative robot. This parameter is used to characterize the change trend of the robot load. It is calculated based on the average CPU load value of the current scheduling cycle and the previous scheduling cycle. The calculation formula is: ,in is the length of the scheduling cycle. In this way, we can quantify whether the load is increasing or decreasing, and how fast it is changing. For example, if the current average CPU load value of robot 1 is 65%, and the load value of the previous cycle is 60%, and the scheduling cycle is 0.5 seconds, then its CPU load change rate is , in percentage points per second.
[0063] The upper limit of the CPU capacity of a single collaborative robot. This parameter is an inherent hardware specification of the robot, representing the maximum computing power that its CPU can theoretically provide. In actual calculations, it is usually expressed as 100%. This value is read from its configuration file when the robot system is initialized and remains unchanged throughout the operation as a baseline constant. When performing load normalization calculations, all CPU average load values will be divided by this value so that it falls between 0 and 1. Here, .
[0064] The lower limit of the prediction time coefficient defines the minimum time span considered when predicting future loads. The value is set based on the basic response delay and stability requirements of the system. It is usually set to no less than the length of one scheduling cycle to ensure that the prediction can at least reflect the changing trend of the next cycle. The value is determined by conducting a series of stress tests in a simulation environment and observing the system in different Set the response to load fluctuations and select a minimum value that can respond to changes in a timely manner without causing frequent fluctuations in the system scheduling strategy. For example, for a system with a scheduling period of 0.5 seconds, after testing, it was found that when the prediction time is less than 0.5 seconds, the system is too sensitive to load changes and is prone to unstable scheduling decisions. Therefore, set .
[0065] The upper limit of the prediction time coefficient defines the maximum time span considered when predicting future loads. Its setting purpose is to prevent the system from making excessive and unrealistic long-term predictions for a long-lasting, atypical load growth trend. The determination of this value is based on statistical analysis of historical load data of robot clusters in various typical working scenarios (for example, a standard sorting task lasting 8 hours), and finding the 95th percentile of the maximum cycle length of continuous unidirectional load growth, which is used as the For example, by analyzing historical data, it is found that most load growth trends will reach a stable state or reverse within 4 seconds, so the setting .
[0066] is the growth steepness control factor, which controls the adaptive prediction time coefficient from Towards The speed of the transition, that is, the slope of the Sigmoid function, affects the sensitivity of the system to changes in load levels. A larger The value means that only a slight increase in system load will lead to a sharp expansion of the prediction time window, and vice versa, the transition is smooth. The value is determined by determining the center point of the Sigmoid function. Afterwards, by drawing different Under the value Function curve, and combined with the system's definition of load range (such as normal load, high load) to select, the principle of selection is to make The value of the system completes the main growth in the interval from "normal load" to "high load". For example, if the system baseline load value is defined as the critical area between 0.7 and 0.8, then adjust The value makes the slope of the function curve the largest in this range. After debugging, select .
[0067] is the center alignment value of the Sigmoid function, which defines The current baseline load value of the system corresponding to the midpoint of its range , which is essentially an "ideal" or "alert" average load level set by the system administrator. When the actual system load reaches this level, the system should begin to significantly enhance its ability to predict future load changes. The setting of this value is based on a trade-off analysis between system throughput and task latency. By running standard test tasks under different average loads, a load point is found that can ensure high resource utilization while maintaining acceptable task response time. For example, tests have shown that when the system average load is around 70%, the overall performance is optimal, so it is set .
[0068] Calculation process:
[0069] In a containing In the collaborative robot system, the parameters are set as follows: , , , ,.
[0070] In the current scheduling cycle, the data of the three robots are obtained as follows:
[0071] Robot 1: , ;
[0072] Robot 2: , ;
[0073] Robot 3: , ;
[0074] First, calculate the current baseline load value of the system :
[0075] ;
[0076] ;
[0077] ;
[0078] Next, Substitute the formula to calculate the adaptive prediction time coefficient :
[0079] ;
[0080] ;
[0081] ;
[0082] ;
[0083] Finally, calculate the global system load value :
[0084] Calculate the predicted load for each robot:
[0085] Robot 1 predicted load:
[0086] ;
[0087] Robot 2 predicted load:
[0088] ;
[0089] Robot 3 predicted load:
[0090] ;
[0091] Substitute into the main formula:
[0092] ;
[0093] ;
[0094] The results show that the predicted global system load value is 0.7532, or 75.32%. This value is a forward-looking assessment result obtained by integrating the current average load of all robots, load change trends, and the overall system load level. It will serve as the core basis for the next QoS control decision. A result higher than the current baseline load value of 0.6416 means that the overall system load is on an upward trend, and the system needs to prepare in advance for possible higher loads. If this value exceeds the preset high load threshold, the load reduction strategy is triggered. If it is lower than the low load threshold, the performance improvement strategy is triggered.
[0095] The steps to obtain global collaborative QoS control instructions are as follows:
[0096] An interval mapping judgment is performed based on the global system load value and the set high load threshold and low load threshold. The judgment result is cross-correlated with the urgency level identifier of each task in the scheduling task list, and the matching task service quality level item is obtained from the table to generate a global collaborative QoS control instruction.
[0097] Specifically, based on the global system load value, it is first compared with the pre-set high load threshold and low load threshold to determine the load range of the current system. These two thresholds are determined based on the analysis of the historical performance data of the system under different loads. The high load threshold, for example, is set to 0.85. It is obtained by subtracting a safety margin of one standard deviation from the system performance inflection point calibrated in the stress test (that is, the load point where the task processing delay begins to increase exponentially). The low load threshold, for example, is set to 0.40. It is obtained by analyzing the relationship between energy consumption and task throughput and determining the load point where resource utilization decreases significantly. Thus, the system load status is mapped into three levels: low load (less than 0.40), normal load (0.40 to 0.85), and high load (greater than 0.85). Then, the system will retrieve the current scheduling task list and extract the urgency identifier of each pending task in the list. The identifier is divided into three levels: "high", "medium", and "low" when the task is defined. For example, the "collision avoidance" task is of high urgency. Urgency, "target capture" is medium urgency, and "environment mapping" is low urgency. Next, the system load status determined in the previous step and the urgency identifier of each task are used as dual indexes to perform a cross-search in a preset "QoS control policy table". The table is a two-dimensional matrix, with rows representing load status and columns representing urgency. Each cell in the table is pre-filled with the target service quality level (for example, from 1 to 3). For example, if the calculated global system load value is 0.7532, it is determined to be a "normal load" state. For a task with "medium urgency", the table query shows that its target service quality level should be "level 2". For a task with "high urgency", the table query may show that the target service quality level is "level 3". By performing this table query operation on all tasks in the scheduling list, each task will eventually be matched with a specific target service quality level, and these matching results (key-value pairs of task number and target service quality level) will be summarized to generate a global collaborative QoS control instruction.
[0098] The steps to obtain the resource elasticity potential score are:
[0099] Based on the global collaborative QoS control instructions and the task service quality level and resource demand quantitative table, the current CPU resource allocation value of each computing task is extracted by task number to build the task resource performance load set;
[0100] Calculate the resource elastic potential energy score based on the task resource performance load set. The calculation formula is:
[0101] ;
[0102] in, For the Run on The resource elasticity potential energy score of the computing task on the collaborative robot, For the The QoS weight factor of each computing task, The performance function is based on the current resource amount The derivative at For tasks in the amount of resources The performance value below is the performance base constant, For the The average CPU load value of the collaborative robot, The maximum CPU capacity of the collaborative robot.
[0103] Specifically, based on the global collaborative QoS control instruction and the task service quality level and resource demand quantification table, the system first parses the instruction, which is essentially a mapping set containing all currently active computing tasks and their newly specified target service quality levels. Subsequently, the system performs a series of data retrieval and integration operations for each active computing task. Specifically, for a task numbered And running on the robot For computing tasks on the system, the system first queries the actual CPU resource allocation percentage in the current scheduling cycle through the operating system kernel interface, which is recorded as At the same time, from the robot Get the latest average CPU load value from the monitoring process , then the system uses the task number As an index, find and load the functional relationship between the performance of the task and the resource consumption in the pre-built database containing all task performance models And the derivative function of this function These functions are obtained by fitting the performance of different service quality levels in the offline phase. Finally, the system will also The business attributes of the task (for example, whether the task is safety-critical, mainline business or auxiliary function) are assigned a predefined QoS weight factor. , and these are tasks All relevant data extracted or calculated, including task numbers , robot number , Current CPU resource allocation value , average CPU load value , performance function , performance function derivative and QoS weight factors , uniformly encapsulate them into a data object, gather the data objects of all active tasks, and build a task resource performance load collection.
[0104] formula: The usefulness of the formula is that it quantifies the “value” or “urgency” of adding CPU resources to a particular task by normalizing the marginal performance gain term , giving priority to tasks that can achieve greater "relative" performance improvement with less resource investment, effectively identifying the highest "price / performance" point of resource allocation; by introducing QoS weight factors , directly incorporating the business importance of the task into the priority calculation, ensuring that critical tasks (such as emergency obstacle avoidance) always have an inherent advantage in resource competition; introducing a cosine penalty factor based on the host robot load This factor suppresses the allocation of resources to tasks on high-load robots, while tasks on low-load robots are not affected. This guides resources to flow to idle computing nodes on a macro level, achieves system-level load balancing, and avoids single-point overheating.
[0105] For the The QoS weight factor of a computing task, this parameter represents the inherent business importance of the task, and its value is pre-set by the system designer according to the degree of impact of the task on the success or failure of the entire collaborative robot system mission. The specific way to obtain it is to establish a mapping table between task type and importance level, and divide the tasks into four categories: "critical safety type", "core business type", "ordinary business type" and "background auxiliary type", and assign a basic weight score to each category. For example, the basic score of critical safety type (such as collision detection) is 100, the basic score of core business type (such as target recognition and tracking) is 70, the basic score of ordinary business type (such as path planning) is 40, and the basic score of background auxiliary type (such as logging) is 10. These basic scores are used as For example, a target object recognition task belongs to the core business type, then its The value is 70.
[0106] The performance function is based on the current resource amount The derivative of , which represents the performance improvement that can be brought about by adding one unit of CPU resources to the task under the current resource allocation level, that is, the marginal benefit. It is obtained by querying the "Task Service Quality Level and Resource Demand Quantization Table" established for each task in the previous step. The table stores the performance function of each task And its derivative function, when calculating, first get the task through the operating system The actual amount of CPU resources currently allocated , then The value of is substituted into the derivative function for calculation. For example, if the performance function of a target recognition task is , then its derivative function is , if the CPU resources currently obtained by the task are , then substitute into the calculation to get .
[0107] For tasks in the amount of resources The performance value under the current resource allocation level is the estimated performance level of the task. It is obtained in a similar way to the derivative value and is also based on the performance function defined in the "Task Service Quality Level and Resource Demand Quantification Table" , the task The actual amount of CPU resources currently allocated Substitute this into the function for calculation. This value is used to normalize the absolute performance improvement (derivative value) to evaluate the relative proportion of performance improvement. For example, continuing with the above target recognition task example, its performance function is , the current resources are , substitute into the calculation to get .
[0108] is the performance base constant, which is a smoothing parameter set to prevent the denominator from being zero or too small. Its value should be much smaller than the normal performance value, but not zero. Its setting basis is the dimension and value range of the task performance indicator. For example, when the performance indicator is the mean average precision (mAP) between 0 and 1, Set to 0.01. This value has been determined through simulation tests. Under the premise of ensuring the stability of numerical calculation, a value with the least impact on the final sorting result is selected. In this calculation, since the range of performance value is [0, 1], it is set .
[0109] is the average CPU load value of the rth collaborative robot. This parameter is directly obtained from the local system monitoring module of the robot. The module continuously tracks the operating status of the CPU and calculates the average load once in a fixed scheduling period (for example, 500 milliseconds) and broadcasts it to the global scheduler. This value reflects the busyness of the node where the task is located and is a key input for load balancing. For example, in the current scheduling period, from the robot The average CPU load value read from the monitoring module is 65%, that is, .
[0110] The maximum CPU capacity of the collaborative robot. This is a physical upper limit constant that represents the theoretical full load operation of the CPU. In a system that measures the CPU load in percentage, this value is fixed to 100. During system initialization, this parameter is read from the hardware configuration file and set as a global constant for all load-related normalization calculations. .
[0111] Calculation process:
[0112] With a number Take the target recognition task as an example. This task runs on the robot. According to the above parameter acquisition process, the following values are obtained:
[0113] ;
[0114] ;
[0115] ;
[0116] ;
[0117] ;
[0118] ;
[0119] Substitute these values into the resource elasticity potential energy score calculation formula:
[0120] ;
[0121] First calculate the normalized weighted marginal gain part within the brackets:
[0122] ;
[0123] Next, calculate the cosine penalty factor. Note that the angle unit is radians:
[0124] ;
[0125] Finally, multiply the two parts together to get the final score:
[0126] ;
[0127] The results show that the resource elasticity potential score of Task 1 on Robot 1 is 0.2203. This is a dimensionless evaluation value that comprehensively reflects the task's current "eligibility" for obtaining additional resources. The higher the score, the greater the overall benefit of allocating idle resources to this task under the current system state. This score will be compared with the scores of all other tasks. The task with the highest score will be given priority to obtain CPU time slices, thereby achieving the most efficient use of system resources.
[0128] The steps to obtain the task resource elastic potential energy sorting list are as follows:
[0129] All computing tasks are sorted in descending order according to the resource elasticity potential energy scores. The number of each computing task in the sorting result is combined with the corresponding resource elasticity potential energy score to generate a task resource elasticity potential energy sorting list.
[0130] Specifically, based on the resource elasticity potential energy score, the system aggregates all active computing tasks and their corresponding newly calculated resource elasticity potential energy scores to form a temporary key-value pair set, where the key is the task's unique identifier (e.g., task number) and the value is its resource elasticity potential energy score. Next, a standard, efficient sorting algorithm, such as heap sort or quick sort, is called to process this set. The sorting is based on the resource elasticity potential energy score in descending order, with the highest-scoring task at the front and the lowest-scoring task at the back. After the sorting is complete, an ordered list is obtained, in which each item in the list contains the task number and its corresponding resource elasticity potential energy score. This list clearly reveals the priority order of resource requirements for all tasks across the entire system at the current moment. For example, if there are three tasks in the system, with scores of Task A: 0.2203, Task B: 0.1542, and Task C: 0.3108, the sorted list will be [(Task C, 0.3108), (Task A, 0.2203), (Task B, 0.1542)], this list is directly used as the authoritative basis for subsequent CPU time slice allocation decisions, and a task resource elastic potential energy ranking list is generated.
[0131] The steps to obtain the instruction set for allocating tasks and CPU time slices are as follows:
[0132] Monitor the current CPU resource operating status of each collaborative robot, identify collaborative robots whose CPU resource utilization has not reached the upper limit, determine the number of idle CPU resource time slices that can be further allocated to each collaborative robot, and generate a set of idle CPU resource time slices;
[0133] Based on the set of idle CPU resource time slices, the task resource elastic potential energy sorting list is called, and the computing tasks that have not reached the resource configuration upper limit and whose resource elastic potential energy scores are at the front of the sorting list are retrieved from the sorting list in sequence. The idle CPU resource time slices are matched one by one, and the corresponding CPU resource time slices are bound to the computing task number to generate an allocation instruction set for the task and CPU time slice.
[0134] Specifically, the current operating status of the CPU resources of each collaborative robot is monitored. Specifically, at the starting point of each scheduling cycle, for example, every 500 milliseconds, the system scheduling center broadcasts a status query request to all registered collaborative robots through the network. After receiving the request, the local monitoring agent of each robot immediately reads the total CPU utilization in the past scheduling cycle from the process management subsystem of its operating system kernel. This is a percentage value between 0 and 100. Subsequently, the system scheduling center collects the CPU utilization data returned by all robots and compares them one by one with the preset CPU resource utilization upper limit. The upper limit, for example, is set to 95%. It is a safety buffer set aside to ensure stable operation of the system. Its value is obtained by conducting continuous full-load stress tests on the robots in a laboratory environment, recording the load point when the system response delay begins to show nonlinear growth, and The system determines the amount of resources available for allocation by subtracting a standard deviation (for example, 3%) from this basis. For any collaborative robot with a CPU utilization rate lower than 95%, the system will calculate the amount of resources available for allocation. The calculation method is to convert the difference between the upper limit value and the current utilization rate into a specific number of CPU time slices. In a system with a time slice unit of 10 milliseconds, a scheduling cycle of 500 milliseconds contains a total of 50 time slices. If the current CPU utilization rate of a robot is 70%, then its idle resource percentage is 95% minus 70%, which equals 25%. The corresponding number of idle time slices is 50 time slices multiplied by 25%. After rounding, 12 allocable idle CPU resource time slices are obtained. All robots identified as having idle resources and their corresponding number of allocable time slices are recorded to form a key-value pair list containing the robot number and the number of idle time slices, generating a set of idle CPU resource time slices.
[0135] Based on the set of idle CPU resource time slices, the system immediately calls the task resource elastic potential energy sorting list generated in the previous step, and starts from the top of the list, that is, the computing task with the highest resource elastic potential energy score, to match and allocate resources one by one. Specifically, for each computing task in the sorting list, the system will first check whether it meets the conditions for accepting additional resources. This condition has two levels. First, the host robot of the task must exist in the set of idle CPU resource time slices, that is, the physical node where it is located has spare capacity. Second, the current CPU resource allocation of the task cannot exceed its own resource configuration upper limit. This upper limit value is extracted from the task service quality level and resource demand quantification table, corresponding to the CPU resource consumption calibrated by the highest service quality level of the task. For example, the highest level of a path planning task requires 30% of CPU resources, then 30% is its configuration upper limit. If a computing task with the highest current ranking, such as task C, has a host The robot has 20 idle time slices, and its current resource utilization is 25%, which is lower than its upper limit of 30%. Then the task meets the allocation conditions. The system will calculate the maximum amount of resources that the task can accept, that is, the difference between the upper limit and the current utilization, that is, 5% of CPU resources, which is converted into 2 CPU time slices. The system will then allocate 2 of the 20 idle time slices of its host robot to task C. Then, the system records this allocation decision, forming a record containing the task number, host robot number, and number of allocated time slices, and updates the number of idle time slices of the corresponding robot in the idle CPU resource time slice set in real time. Then, the system moves to the next task in the sorted list and repeats the above judgment and allocation process until all time slices in the idle CPU resource time slice set are fully allocated, or all tasks in the task resource elastic potential energy sorted list are evaluated. Finally, all the records of all allocation decisions are summarized to generate an allocation instruction set for tasks and CPU time slices.
[0136] The steps to obtain the dynamic CPU time slice allocation scheme are:
[0137] Based on the task and CPU time slice allocation instruction set, the priority ranking value and execution time quota value of the corresponding computing tasks in the scheduling queue are updated one by one, the computing task scheduling queue is re-prioritized and quota is allocated, and a dynamic CPU time slice allocation plan is generated.
[0138] Specifically, based on the instruction set for allocating tasks and CPU time slices, the system scheduling center begins to convert these abstract allocation decisions into specific scheduling parameter updates at the operating system level. It will parse each allocation instruction in the instruction set one by one. Each instruction clearly specifies how many CPU time slices to add to which computing task of which robot. For each instruction, the scheduling center will send a parameter update command to the target robot. The command carries the task identifier and the newly added execution time quota value. The execution time quota value is obtained by multiplying the number of allocated CPU time slices by the standard duration of a single time slice (for example, 10 milliseconds). For example, if the instruction allocates 5 time slices to task A, its execution time quota value will increase by 50 milliseconds. After receiving this command, the local operating system of the robot will immediately modify the scheduling attributes of the corresponding task in its internal scheduling queue. Specifically, it directly increases the total execution time quota of the task in the next scheduling cycle. In modern operating system scheduling strategies such as the Completely Fair Scheduler (CFS), the increase in the execution time quota will directly affect the virtual running time of the task, allowing it to obtain a higher priority when competing for the CPU. Therefore, this operation synchronously updates the execution time quota value of the task and its effective priority ranking value in the scheduling queue. When all instructions in the instruction set are processed, the scheduling queue on each affected collaborative robot completes the reordering and quota redistribution based on the latest resource allocation. The CPU resources of the entire robot cluster will be executed according to this new, more optimized plan in the next scheduling cycle. This new global scheduling layout composed of the updated scheduling queue states of all robots is the final generated dynamic CPU time slice allocation plan.
[0139] The above are merely preferred embodiments of the present invention and do not limit the present invention in any other form. Any technician familiar with the profession may use the technical content disclosed above to change or modify it into an equivalent embodiment with equivalent changes and apply it to other fields. However, any simple modification, equivalent change and modification made to the above embodiment based on the technical essence of the present invention without departing from the content of the technical solution of the present invention shall still fall within the scope of protection of the technical solution of the present invention.
Claims
1. The object recognition and task processing method of multi-machine collaborative competition robots is characterized by: The following steps are involved: Predefine multiple service quality levels for collaborative robot target object recognition and path planning calculation tasks. Based on the visual sensor data resolution and algorithm complexity at different levels, obtain the CPU resource consumption and task processing performance corresponding to each level, and generate a quantitative table of task service quality levels and resource requirements; Collect the average CPU load data of all collaborative robots in real time, calculate the global system load value, compare the global system load value with the preset high load threshold and low load threshold, obtain the target service quality level of each task, and establish global collaborative QoS control instructions; Based on the global collaborative QoS control instruction and the task service quality level and resource demand quantification table, extract the CPU resources currently allocated to each computing task and the corresponding performance resources, calculate the resource elasticity potential energy score, arrange the resource elasticity potential energy scores of all computing tasks in descending order, and establish a task resource elasticity potential energy ranking list; When idle CPU resources are detected, the task resource elastic potential energy ranking list is called to obtain the computing task with the highest resource elastic potential energy score, the idle CPU resource time slice is allocated to the computing task, and an allocation instruction set of tasks and CPU time slices is generated. According to the allocation instruction set of tasks and CPU time slices, the priority and execution time quota of the computing task in the scheduling queue are updated to obtain a dynamic CPU time slice allocation plan.
2. The object recognition and task processing method for multi-robot competition according to claim 1, characterized in that: The steps for obtaining the task service quality level and resource requirement quantitative table are as follows: Based on the collaborative robot's target object recognition and path planning calculation tasks, the resolution of the visual sensor data and the algorithm complexity are determined respectively. The CPU resource consumption and task processing performance under each task's service quality level are calculated one by one, and the CPU resource consumption and task processing performance parameters corresponding to each level are obtained. According to the CPU resource consumption and task processing performance parameters, the relationship between the task processing performance parameters and the CPU resource consumption at all levels is fitted, the task performance change trend under different CPU resource consumptions is quantified, and the functional relationship between the task performance and the CPU resource consumption is obtained; Based on the functional relationship between the task performance and the CPU resource consumption, the performance change range of each task service quality level after the CPU resource consumption is increased or decreased is calculated, and the performance change range is used as the performance improvement potential indicator. The performance improvement potential indicator and the corresponding resource consumption value are associated according to the service quality level to form a quantitative table of task service quality level and resource demand.
3. The object recognition and task processing method for multi-robot competition according to claim 1, characterized in that: The steps for obtaining the global system load value are: The average CPU load value recorded by each collaborative robot in the current scheduling cycle is extracted, and the difference is calculated by combining it with the load value of the corresponding robot number in the previous scheduling cycle. The difference is divided by the length of the scheduling cycle to generate the CPU load change rate. A joint data set consisting of the CPU average load value and CPU load change rate of each collaborative robot is established by number. All CPU average load values are normalized, squared, averaged, and squared to calculate the current baseline load value of the system. A global system load value is calculated based on the CPU average load value, the CPU load change rate, and the current benchmark load value of the system.
4. The object recognition and task processing method for multi-robot competition according to claim 1, characterized in that: The steps for obtaining the global collaborative QoS control instruction are: An interval mapping judgment is performed based on the global system load value and the set high load threshold and low load threshold, and the judgment result is cross-correlated with the urgency identifier of each task in the scheduling task list. The table is looked up to obtain the matching task service quality level item, and a global collaborative QoS control instruction is generated.
5. The object recognition and task processing method for multi-robot competition according to claim 1, characterized in that: The steps for obtaining the resource elasticity potential energy score are as follows: Based on the global collaborative QoS control instruction and the task service quality level and resource demand quantification table, extract the current CPU resource allocation value of each computing task according to the task number, and construct a task resource performance load set; A resource elasticity potential score is calculated based on the task resource performance load set.
6. The object recognition and task processing method for multi-robot competition according to claim 1, characterized in that: The steps for obtaining the task resource elastic potential energy sorting list are as follows: All computing tasks are sorted in descending order according to the resource elasticity potential energy scores, and the number of each computing task in the sorting result is combined with the corresponding resource elasticity potential energy score to generate a task resource elasticity potential energy sorting list.
7. The object recognition and task processing method for multi-robot competition according to claim 1, characterized in that: The steps for obtaining the task and CPU time slice allocation instruction set are as follows: Monitor the current CPU resource operating status of each collaborative robot, identify collaborative robots whose CPU resource utilization has not reached the upper limit, determine the number of idle CPU resource time slices that can be further allocated to each collaborative robot, and generate a set of idle CPU resource time slices; Based on the idle CPU resource time slice set, the task resource elastic potential energy sorting list is called, and the computing tasks that have not reached the resource configuration upper limit and whose resource elastic potential energy scores are at the front of the sorting list are retrieved in turn from the sorting list, and the idle CPU resource time slices are matched one by one. The corresponding CPU resource time slices are bound to the computing task numbers, and an allocation instruction set of tasks and CPU time slices is generated.
8. The object recognition and task processing method for multi-robot competition according to claim 1, characterized in that: The steps for obtaining the dynamic CPU time slice allocation scheme are as follows: Based on the task and CPU time slice allocation instruction set, the priority ranking value and execution time quota value of the corresponding computing task in the scheduling queue are updated one by one, the computing task scheduling queue is re-prioritized and quota allocated, and a dynamic CPU time slice allocation plan is generated.
9. The object recognition and task processing system of the object recognition and task processing method for multi-robot competition robot collaboration according to any one of claims 1 to 8, characterized in that: include: The task modeling module predefines multiple service quality levels for the collaborative robot's target object recognition and path planning calculation tasks. Based on the visual sensor data resolution and algorithm complexity at different levels, it obtains the CPU resource consumption and task processing performance corresponding to each level, and generates a quantitative table of task service quality levels and resource requirements; The system load monitoring module collects the average CPU load data of all collaborative robots in real time, calculates the global system load value, compares the global system load value with the preset high load threshold and low load threshold, obtains the target service quality level of each task, and establishes global collaborative QoS control instructions; A resource evaluation and ranking module, based on the global collaborative QoS control instructions and the task service quality level and resource demand quantitative table, extracts the CPU resources currently allocated to each computing task and the corresponding performance resources, calculates the resource elasticity potential energy score, arranges the resource elasticity potential energy scores of all computing tasks in descending order, and establishes a task resource elasticity potential energy ranking list; The scheduling optimization module, when detecting the occurrence of idle CPU resources, calls the task resource elastic potential energy sorting list, obtains the computing task with the highest resource elastic potential energy score, allocates the idle CPU resource time slice to the computing task, generates an allocation instruction set for tasks and CPU time slices, updates the priority and execution time quota of the computing task in the scheduling queue according to the allocation instruction set for tasks and CPU time slices, and obtains a dynamic CPU time slice allocation plan.
Citation Information
Patent Citations
Heterogeneous multi-robot task scheduling method and system based on multistage feedback queue
CN114691340A
Multi-machine collaborative industrial robot intelligent scheduling system and application method
CN119974019A