Task selection unloading method and system based on edge computing server

By generating congestion grid maps through dense optical flow field analysis and combining task timeliness and network quality index, task offloading decisions are optimized, solving the problems of communication stability and task importance in robot swarm collaborative work and improving collaborative operation efficiency.

CN121166313AActive Publication Date: 2025-12-19SHENZHEN JIHECHENG TECH DEV
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
CN202511302106.1
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-09-12
Publication Date
2025-12-19
Estimated Expiration
2045-09-12

AI Technical Summary

Technical Problem

Existing technologies fail to effectively consider the impact of dynamic changes in the physical environment on communication stability and the inherent importance and timeliness of tasks in dynamic scenarios of robot swarm collaborative work, resulting in low efficiency of collaborative operations.

Method used

By acquiring panoramic visual data from the robot swarm to perform dense optical flow field calculations, a congestion grid map is generated. Combining task computational load and timeliness requirements, a distributed consensus protocol is used to make task sorting and offloading decisions, adjusting the task computational load to prioritize high-risk or high-value tasks.

Benefits of technology

It improves the collaborative operation efficiency of robot clusters in complex and dynamic environments and the success rate of unloading critical tasks, optimizes the task scheduling sequence, and ensures the execution of critical tasks in high-risk environments.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121166313A_ABST
    Figure CN121166313A_ABST
Patent Text Reader

Abstract

The invention discloses a task selection unloading method and system based on an edge computing server, and belongs to the field of edge services. The method and the device are applied to an edge computing server, mobile information and panoramic visual data of a robot cluster are acquired, and the visual data are analyzed by using a dense optical flow field to generate a congestion grating map for quantifying physical congestion risks. A task offload request including a task calculation load and an aging demand level is received and a network quality index and a task priority are calculated based on the congestion map and the robot path. Carrying out value sorting on the tasks according to the aging demand levels and the priorities, carrying out risk adjustment on calculation loads of the tasks by utilizing network quality indexes, and determining an unloading task set in the sorted tasks according to the adjusted loads and available resources of the tasks, and sending the unloading task set to the Leader node so as to receive the unloading task after the robot cluster reaches the cooperative consensus. According to the application, the cooperative operation efficiency of the robot cluster can be improved.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application belongs to the field of edge service, and particularly relates to a task selection offloading method and system based on an edge computing server. BACKGROUND

[0002] The task selection offloading method of the edge computing server mainly migrates the computing-intensive tasks of the terminal device to the server adjacent in physical position for processing, so as to make up for the insufficient computing power of the terminal, improve the intelligent processing capability and response speed of the robot cluster, and has a broad application prospect.

[0003] The task selection offloading method in the prior art mainly makes decisions according to the computing resource requirements of different offloaded tasks and the available computing resources of the edge server, and usually takes maximizing the number of tasks offloaded by the server in a unit of time as the core optimization target, and selects the tasks to be offloaded through resource matching calculation.

[0004] However, when the task selection offloading method in the prior art is applied to the dynamic scene of the collaborative work of the robot cluster, the dynamic changes of the physical environment in which the robots in the same physical space are located are not considered, the influence of the future communication stability, the inherent computing requirements of different tasks and other factors are not considered, the task offloading requirements of the robot cluster in a complex environment cannot be met, and the collaborative work efficiency of the robot cluster cannot be effectively coordinated. Therefore, when the task selection offloading method of the edge computing server in the prior art is applied to the scene of the collaborative work of the robot cluster, the improvement effect on the collaborative work efficiency of the robot cluster is poor. SUMMARY

[0005] The present application provides a task selection offloading method, system, device and computer storage medium based on an edge computing server, which can improve the collaborative work efficiency of the robot cluster.

[0006] In a first aspect, the present application provides a task selection offloading method based on an edge computing server, applied to an edge computing server, which comprises:

[0007] Obtaining the movement information of each mobile robot in the robot cluster and the collected panoramic visual data, the panoramic visual data comprising a plurality of continuous video frames, the movement information comprising position information and path planning information, and the robot cluster sharing the edge computing server;

[0008] Performing dense optical flow field calculation on the panoramic visual data to obtain a motion vector field, performing spatial statistical analysis on the motion vector field to generate a congestion index corresponding to each mobile robot, and generating a congestion grid map of the area where the robot cluster is located based on the congestion index and the position information;

[0009] The elected Leader node in the receiver robot cluster sends a task offloading request information of each mobile robot, and the task offloading request information includes a task computing load and a time requirement level of each task;

[0010] Based on the task computing load and the time requirement level, a priority of each task is calculated, and a network quality index of each mobile robot is calculated according to the congestion grid map and the path planning information, and the network quality index of each task corresponds to the associated mobile robot;

[0011] The tasks are sorted according to the time requirement level and the priority, the task computing load is adjusted according to the network quality index, and an offloading task set is determined from the sorted tasks according to the adjusted task computing load and the load information of the edge computing server;

[0012] The offloading task set is sent to the Leader node, so that the Leader node synchronizes the offloading task set in the robot cluster through a distributed consensus protocol to reach a consensus, and receives a task in the offloading task set sent by each mobile robot.

[0013] In an implementable embodiment, the method further comprises:

[0014] Based on the congestion value of the congestion grid map, a spatial weight matrix is constructed;

[0015] According to the position information and the path planning information, a weight sequence corresponding to each mobile robot is determined in the spatial weight matrix, and a weight coefficient of a task associated with each mobile robot is obtained by calculating a mean value of the weight sequence;

[0016] The tasks are sorted according to the time requirement level and the priority, the task computing load is adjusted according to the network quality index, and an offloading task set is determined from the sorted tasks according to the adjusted task computing load and the load information of the edge computing server, including:

[0017] The tasks are sorted according to the time requirement level, the priority and the weight coefficient of each task, the task computing load is adjusted according to the network quality index, and an offloading task set is determined from the sorted tasks according to the adjusted task computing load and the load information of the edge computing server.

[0018] In an implementable embodiment, the tasks are sorted according to the time requirement level, the priority and the weight coefficient of each task, the task computing load is adjusted according to the network quality index, and an offloading task set is determined from the sorted tasks according to the adjusted task computing load and the load information of the edge computing server, including:

[0019] Based on the priority of the task and the urgency level, the preset scheduling function is used to generate the basic scheduling score of each task;

[0020] The basic scheduling score is adjusted by using the weight coefficient to obtain the scheduling score of each task, and the scheduling score is used to arrange all tasks in descending order to generate a task candidate sequence;

[0021] Based on the task computing load and network quality index of the task, the preset risk function is used to generate the target computing load of each task;

[0022] Starting from the starting end of the task candidate sequence, the target computing load of each task is accumulated until the ratio of the total accumulated computing load to the available resources in the load information is greater than the preset ratio threshold, and all accumulated tasks are determined as the unloading task set.

[0023] In an implementable embodiment, the method further comprises:

[0024] Based on the mean of the network quality index of each mobile robot, the target consensus time window is determined in the preset mapping relationship between the network quality index and the consensus time window;

[0025] The unloading task set is sent to the Leader node, so that the Leader node synchronizes the unloading task set in the robot cluster through a distributed consensus protocol to reach a consensus, and receives the tasks in the unloading task set sent by each mobile robot, including:

[0026] The unloading task set and the target consensus time window are sent to the Leader node, so that the Leader node synchronizes the unloading task set in the robot cluster through a distributed consensus protocol to reach a consensus within the target consensus time window;

[0027] The tasks in the unloading task set sent by each mobile robot after reaching a consensus are received.

[0028] In an implementable embodiment, the Leader node synchronizes the unloading task set in the robot cluster through a distributed consensus protocol to reach a consensus within the target consensus time window, including:

[0029] The Leader node broadcasts a consensus proposal including the unloading task set to each mobile robot in the robot cluster, and starts a timer equal in length to the target consensus time window;

[0030] Each mobile robot replies to the Leader node with confirmation information after receiving the consensus proposal;

[0031] The leader node determines that consensus is reached if it receives the acknowledgement information sent by more than half of the mobile robots before the end of the timer, and broadcasts the consensus to all the mobile robots.

[0032] In an implementable embodiment, a dense optical flow field is calculated for the panoramic visual data to obtain a motion vector field, a spatial statistical analysis is performed on the motion vector field to generate a congestion index corresponding to each mobile robot, and a congestion grid map of the area where the robot cluster is located is generated based on the congestion index and the position information, including:

[0033] Each pixel in the panoramic visual data is matched pixel by pixel to calculate the displacement vector of each pixel between two consecutive video frames, and a motion vector field is formed based on all the displacement vectors;

[0034] The mean value of the amplitude of all displacement vectors in the motion vector field and the divergence of the motion vector field are calculated, and a congestion index corresponding to each mobile robot is obtained by weighted summation;

[0035] In a global coordinate system divided into multiple grids, the corresponding target grid in the global coordinate system is determined according to the position information of each mobile robot, the congestion index corresponding to each mobile robot is filled into the target grid, and the grid in the global coordinate system without a corresponding congestion index is filled by a spatial interpolation algorithm to generate a congestion grid map.

[0036] In an implementable embodiment, the priority of each task is calculated based on the task computing load and the time efficiency requirement level, and the network quality index of each mobile robot is calculated based on the congestion grid map and the path planning information, including:

[0037] The priority of each task is generated by calculating the ratio of the time efficiency requirement level to the task computing load;

[0038] According to the path planning information, a grid set that the mobile robot passes through is determined in the congestion grid map, and the maximum congestion value in the grid set is determined as the target congestion value;

[0039] The network quality index of each mobile robot is calculated using a normalization function that is inversely proportional to the path congestion peak value.

[0040] In a second aspect, the application provides a task selection and offloading system based on an edge computing server, applied to an edge computing server, which includes:

[0041] An acquisition module is configured to acquire the movement information of each mobile robot in a robot cluster and the panoramic visual data collected by the robot cluster, wherein the panoramic visual data includes multiple consecutive video frames, the movement information includes position information and path planning information, and the robot cluster shares an edge computing server;

[0042] The generating module is configured to perform dense optical flow field calculation on the panoramic visual data to obtain a motion vector field, perform spatial statistical analysis on the motion vector field, generate a congestion index corresponding to each mobile robot, and generate a congestion grid map of an area where the robot cluster is located based on the congestion index and position information.

[0043] The receiving module is configured to receive task offloading request information of each mobile robot sent by a Leader node elected in the robot cluster, the task offloading request information including a task computing load and a time requirement level of each task.

[0044] The computing module is configured to calculate a priority of each task based on the task computing load and the time requirement level, and calculate a network quality index of each mobile robot according to the congestion grid map and path planning information, the network quality index of each task corresponding to an associated mobile robot.

[0045] The determining module is configured to sort all tasks by using the time requirement level and the priority, adjust the task computing load by using the network quality index, and determine an offloaded task set from the sorted all tasks according to the adjusted task computing load and load information of the edge computing server.

[0046] The sending module is configured to send the offloaded task set to the Leader node, so that the Leader node synchronizes the offloaded task set in the robot cluster by using a distributed consistency protocol to reach a consensus, and receives a task in the offloaded task set sent by each mobile robot.

[0047] In a third aspect, the present application provides an electronic device, which comprises a processor and a memory storing computer program instructions; the processor reads and executes the computer program instructions to implement the task selection offloading method based on the edge computing server in any one of the embodiments of the first aspect.

[0048] In a fourth aspect, the present application provides a computer readable storage medium, which stores computer program instructions; the computer program instructions are executed by a processor to implement the task selection offloading method based on the edge computing server in any one of the embodiments of the first aspect.

[0049] The application is based on a task selection offloading method, system, device and computer storage medium of an edge computing server. By using panoramic visual data and dense optical flow field analysis, the edge computing server can perceive and quantify the dynamic congestion condition of the physical environment where the robot cluster is located in real time, and generate a congestion grid map that can reflect the future communication risk. The network quality decrease that each mobile robot may encounter due to its moving path can be predicted, and the task itself can be comprehensively sorted according to the timeliness and importance, and the communication risk can be quantified as a dynamic adjustment of the task computing load. By combining the task value sorting and the resource constraint after risk adjustment to make offloading decisions, and using a distributed consistency protocol to ensure the collaborative execution of the scheduling scheme in the cluster, the success rate of key task offloading and the collaborative operation efficiency of the robot cluster can be improved in a complex dynamic scene.

[0050] Further, by constructing a spatial weight matrix and calculating a weight coefficient associated with the path risk for each task, the utilization of the risk of the physical environment is deepened. The weight coefficient not only includes the congestion degree of each point on the robot path, but also reflects the comprehensive risk level of the entire path. By directly introducing the weight coefficient into the task sorting link, the server can pay more attention to tasks with higher path risks when making scheduling decisions, so that the scheduling decisions have stronger risk perception ability and can more actively prioritize high-risk or high-value tasks, further optimize the task scheduling sequence, and prioritize the execution of tasks in critical paths or high-risk environments when resources are scarce, thereby improving the collaborative operation efficiency of the robot cluster in a high-dynamic counter-environment. BRIEF DESCRIPTION OF DRAWINGS

[0051] In order to more clearly illustrate the technical solutions of the embodiments of the application, the drawings needed to be used in the embodiments of the application will be briefly introduced. Those skilled in the art can obtain other drawings according to these drawings without creating any creative labor.

[0052] Figure 1 is a flowchart of a task selection offloading method based on an edge computing server provided by an embodiment of the application;

[0053] Figure 2 is a flowchart of a method for determining an offloaded task set provided by an embodiment of the application;

[0054] Figure 3 is a flowchart of a method for generating a congestion grid map provided by an embodiment of the application;

[0055] Figure 4 is a structural diagram of a task selection offloading system based on an edge computing server provided by an embodiment of the application;

[0056] Figure 5 is a schematic diagram of a hardware structure of an electronic device provided by an embodiment of the present application. DETAILED DESCRIPTION

[0057] The features and exemplary embodiments of various aspects of the present application will be described below in detail, in order to make the purposes, technical solutions and advantages of the present application more clear and apparent, the present application will be further described in detail below in combination with the drawings and specific embodiments. It should be understood that the specific embodiments described herein are only intended to explain the present application, but not to limit the present application. The present application can be implemented without some of these specific details for those skilled in the art. The following description of the embodiments is only to provide a better understanding of the present application by showing examples of the present application.

[0058] It should be noted that, in this paper, relational terms such as first and second are only used to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply that there is any such actual relationship or order between the entities or operations. Moreover, the terms "include", "contain" or any other variants thereof are intended to cover non-exclusive inclusion, so that the process, method, article or device including a series of elements not only includes those elements, but also includes other elements not explicitly listed or inherent to such process, method, article or device. Without more limitations, the elements defined by the statement "include" do not exclude the presence of other identical elements in the process, method, article or device including the elements.

[0059] The task selection offloading method in the prior art is applied to the dynamic scene of the collaborative work of the robot cluster, without considering the influence of the dynamic change of the physical environment in which the robot is located on the future communication stability, for example, multiple mobile robots work collaboratively in the same physical space, share the same edge computing server, and are affected by signal shielding and network performance degradation caused by intensive movement of robots or personnel; without considering the differences in importance and timeliness of different tasks, the task offloading demand of the robot cluster in complex environment cannot be met; and finally the collaborative work efficiency of the robot cluster is affected, for example, the success rate of task offloading is reduced, critical tasks are delayed, and the offloaded tasks of the robot cluster cannot be effectively coordinated. Therefore, when the task selection offloading method of the edge computing server in the prior art is applied to the scene of the collaborative work of the robot cluster, the improvement effect on the collaborative work efficiency of the robot cluster is poor.

[0060] In order to solve the problems in the prior art, the embodiments of the present application provide a task selection offloading method, system, device and computer storage medium based on an edge computing server. First, the task selection offloading method based on an edge computing server provided by the embodiments of the present application will be introduced.

[0061] The edge computing server of the present application provides a powerful local computing platform for the robot end to support the running of algorithms such as large language models, radar and vision fusion, autonomous obstacle avoidance, and motion control. The platform hardware design adopts shock absorption design in structure; wide voltage input is adopted in electricity, and overcurrent and overvoltage short circuit protection is integrated; in terms of heat dissipation, a combined solution combining fans, profiles, and heat conduction mechanisms is applied. In terms of connection and expandability, the platform is equipped with rich industrial standard interfaces, and adopts an outgoing line mode that is easy to install and maintain, while built-in PCIe to four USB3.0 expansion cards are convenient for accessing more external devices. In terms of wireless communication, the platform supports 4G, 5G, WiFi and other modules, and can flexibly match the antenna combination according to the selected module.

[0062] Figure 1 A flowchart of a task selection offloading method based on an edge computing server provided by an embodiment of the present application is shown. The method is applied to an edge computing server, as shown in Figure 1 The method includes steps S110 to S160.

[0063] S110: Obtain the movement information of each mobile robot in the robot cluster and the collected panoramic vision data, the panoramic vision data including a plurality of continuous video frames, and the movement information including position information and path planning information, the robot cluster sharing an edge computing server.

[0064] In large intelligent warehouses, automated factories, or busy public service spaces, there are multiple autonomous mobile robots working cooperatively. In these scenarios, the robot cluster shares the same edge computing server to perform complex computing tasks, but the intensive movement of robots and personnel will cause physical space congestion and dynamic shielding of wireless network signals, resulting in unpredictable communication quality for task offloading. Key tasks are delayed due to communication failure, and tasks with different importance and timeliness cannot be effectively coordinated, thereby affecting the cooperative work efficiency of the entire robot cluster.

[0065] The edge computing server is a central computing node that provides task offloading services for the entire cluster. The robot cluster is a collection of multiple mobile robots that work collaboratively in the same shared physical space. The edge computing server receives data packets from the mobile robots through a wireless communication link established with each mobile robot in the robot cluster. The movement information is a collection of data that describes the motion state and actions of the mobile robot, including position information and path planning information. The edge computing server extracts the real-time position information of the mobile robot in the preset global coordinate system and the path planning information generated by the navigation module of the mobile robot from the data packets by analyzing the data packets. The position information is the two-dimensional coordinates of the mobile robot in the global coordinate system. The path planning information is a series of waypoint coordinates that represent the intended movement trajectory of the mobile robot for a certain period of time in the future. The edge computing server also receives panoramic vision data containing multiple consecutive video frames from the data packets. The panoramic vision data is a sequence of images that cover the environment around the mobile robot. The edge computing server synchronizes the movement information and panoramic vision data received from all mobile robots.

[0066] Exemplarily, in a large intelligent warehouse scenario, an edge computing server serves a robot cluster consisting of 20 autonomous mobile robots. The edge computing server maintains communication with all 20 mobile robots in the cluster through a 5G private network deployed inside the warehouse. The server receives a data packet sent by a mobile robot in the cluster. By analyzing the data packet, the server obtains the position information of the mobile robot in the global coordinate system of the warehouse as (35.2, 58.1), and extracts a series of path planning waypoints generated by the navigation system of the mobile robot to the packing area at point B. At the same time, the edge computing server also receives 3 consecutive panoramic vision data collected by the 360-degree fisheye camera on the top of the mobile robot within the past 100 milliseconds. While processing the data of the mobile robot, the server also receives and processes the data from all other mobile robots in the cluster in a parallel manner and synchronizes the data.

[0067] S120: Perform dense optical flow field calculation on the panoramic vision data to obtain a motion vector field, perform spatial statistical analysis on the motion vector field, generate a congestion index corresponding to each mobile robot, and generate a congestion grid map of the area where the robot cluster is located based on the congestion index and the position information.

[0068] The motion vector field is a set of two-dimensional vectors, each of which represents the displacement direction and distance of a pixel in the panoramic vision data between two consecutive frames. The congestion index is a quantitative value that quantifies the dynamic congestion and chaos of the environment around a single mobile robot. The higher the value, the more intense or disordered the movement of objects within the robot's field of view. The congestion grid map is a two-dimensional grid map that covers the entire working area of the robot cluster, where each grid stores a value representing the estimated congestion level of that physical location.

[0069] The edge computing server uses its graphics processing unit (GPU) to perform dense optical flow field calculation on the panoramic vision data obtained from each mobile robot, such as using the Gunnar Farneback algorithm, to generate a corresponding motion vector field for each mobile robot by performing pixel-by-pixel matching on consecutive video frames. Then, the edge computing server performs spatial statistical analysis on each motion vector field by calculating the mean of all displacement vector magnitudes and the divergence of the entire vector field, and then performs a weighted sum of these two macro indicators to calculate a single numerical congestion index for each mobile robot. Finally, the edge computing server estimates and fills in the congestion values of all grids in the global coordinate system corresponding to the physical space of the warehouse by using spatial interpolation algorithms such as inverse distance weighting interpolation, using the real-time position information of each mobile robot as a known data point and its corresponding congestion index as the value of that point, to generate a congestion grid map that can reflect the dynamic congestion status of the entire area in real time.

[0070] S130: Receive the task offloading request information of each mobile robot sent by the elected Leader node in the robot cluster, which includes the task computing load and time-sensitive demand level of each task.

[0071] The Leader node refers to a specific mobile robot elected by a distributed consensus protocol within the robot cluster, which assumes the role of collecting internal information and coordinating with the edge computing server for a period of time. The task offloading request information is a data packet generated by the mobile robot to apply for computing resources from the edge computing server, which contains the key attributes of the task to be offloaded, such as task computing load and time-sensitive demand level. The task computing load represents the quantitative representation of the specific computing resources required by a task during execution, such as the quantitative demand for central processing units, graphics processing units, and memory. The time-sensitive demand level is a classification indicator that represents the impact of task completion time on its final effect. The higher the level, the higher the requirement for real-time performance. The time-sensitive demand level includes low, medium, medium-high, and high.

[0072] The robot cluster first elects a Leader node among its members by running a distributed consensus protocol, such as Raft, and then other mobile robots in the cluster send task offloading request information containing task computation load and time efficiency requirement level to the current Leader node when they generate a computing task that needs to be offloaded. For example, a mobile robot generates a high-precision cargo identification task, and the task computation load of the task is defined as a specific demand for computing resources {CPU: 1, GPU: 0.5}, indicating that the task needs to occupy 1 CPU core and 50% GPU computing power, and the time efficiency requirement level is defined as high; the robot sends this request to the Leader node.

[0073] After receiving a task offloading request information, the Leader node will immediately reply to the sender mobile robot with an acknowledgement to ensure that the request information is not lost in the cluster internal network. The Leader node is responsible for collecting task offloading request information from all members, such as collecting a total of 9 different task requests in a task offloading decision cycle, and batch processing and packaging these information. After packaging is completed, the Leader node will broadcast a synchronization message containing all collected request summaries to the cluster, and other mobile robots in the cluster will check their own sent requests after receiving the synchronization message, and if they find missing requests, they will resend the requests to ensure that the information collected by the Leader node is complete and accurate. Then, the Leader node sends all 9 task offloading request information collected to the edge computing server through its wireless communication link with the edge computing server. The edge computing server parses the data packet received from the Leader node to obtain the complete list of all tasks to be offloaded and their detailed attributes, i.e., the task computation load and time efficiency requirement level of each task.

[0074] S140: Based on the task computation load and time efficiency requirement level, the priority of each task is calculated, and the network quality index of each mobile robot is calculated based on the congestion grid map and path planning information, and each task corresponds to the network quality index of the associated mobile robot.

[0075] The edge computing server first calculates the priority of each task offloading request information received from the leader node. By numerically representing the time-critical demand level of the task, and converting the multi-dimensional task computing load into a cost value through a preset conversion relationship, then calculating the ratio of the two numerical values, a priority value representing the task execution benefit is generated. The tasks with higher priority values will be given priority in the subsequent task sorting. Then, the network quality index of each mobile robot is calculated. According to the path planning information of each mobile robot, all grid sets that the path will pass through are determined in the congestion grid map generated by the mobile robot, and the grid with the highest congestion value in the set is searched and located. The highest value is determined as the path congestion peak value. Finally, a normalization function inversely proportional to the path congestion peak value is used to calculate the network quality index, which is a numerical value ranging from 0 to 1. The network quality index is a quantitative value for estimating the wireless communication quality of a mobile robot on its future path. The higher the value, the better the expected network conditions and the more reliable the data transmission. Each task is associated with the network quality index of the mobile robot it belongs to, so that each task has a corresponding network quality index.

[0076] S150: Sort all tasks using time-critical demand level and priority, adjust task computing load using network quality index, and determine offloading task set from all sorted tasks according to adjusted task computing load and load information of edge computing server.

[0077] The edge computing server executes a two-stage decision-making process to determine the set of offloaded tasks. In the first stage of task sorting, a preset scheduling score function is used to calculate a scheduling score representing the intrinsic value of each task by taking into account the time-sensitive demand level and priority of each task, and all tasks are sorted in descending order based on their scheduling scores to generate an ordered task candidate sequence. In the second stage of resource constraint selection, the task candidate sequence is traversed, and for each task in the sequence, its corresponding network quality index is used to adjust the original task computing load, and a preset risk function as a penalty function is used to calculate a target computing load that reflects the communication risk. Since a lower network quality index indicates a higher risk of physical congestion and signal obstruction on the robot's future path, resulting in increased retransmission rate and reduced effective bandwidth for task data transmission, adjusting the original task computing load based on the network quality index can obtain an equivalent computing load that is amplified by risk, which can more accurately quantify and penalize the potential time and resource consumption in scheduling decisions. Then, the adjusted computing load is compared with the real-time available resources of the server to determine whether the available resources can meet the demand of the adjusted computing load. If the available resources can meet the demand of the adjusted computing load, the task is selected into the set of offloaded tasks, and the available resources of the server are updated, and then the next task in the sequence is judged until the entire sequence is traversed. Finally, a list of computing tasks to be accepted and executed is determined, which is a subset of the corresponding tasks in all task offloading request information.

[0078] S160: Send the set of offloaded tasks to the Leader node for the Leader node to synchronize the set of offloaded tasks among the robot cluster through a distributed consensus protocol to reach a consensus, and receive the tasks in the set of offloaded tasks sent by each mobile robot.

[0079] The distributed consensus protocol is a mechanism to ensure that multiple nodes in a distributed system have the same understanding of a certain information state, such as the Raft protocol, which ensures that even in unstable network conditions, cluster members can maintain the final consistency of received instructions through Leader election and log replication.

[0080] After determining the final set of offloading tasks, the edge computing server encapsulates the set into a scheduling scheme and sends it to the current Leader node in the robot cluster through a wireless communication link. After receiving the scheduling scheme, the Leader node starts its internally running distributed consensus protocol, broadcasts the scheduling scheme as a new log entry to all other mobile robots in the cluster for replicated broadcasting. Only when the Leader node receives confirmation replies from more than half of the mobile robots, the scheduling scheme is considered to have reached consensus in the entire cluster. Once consensus is reached, the mobile robots with selected tasks will package and formally offload their task data to the edge computing server according to the instructions of the scheduling scheme. Finally, the edge computing server receives the task data of the offloaded tasks sent by the corresponding mobile robots and starts to execute the computing tasks.

[0081] By using panoramic vision data and dense optical flow field analysis, the edge computing server can perceive and quantify the dynamic congestion status of the physical environment in which the robot cluster is located in real time, and generate a congestion grid map that can reflect the future communication risk. It can predict the network quality decline that each mobile robot may encounter due to its moving path, and also combine the timeliness and importance of the task itself for comprehensive sorting, and quantify the communication risk as a dynamic adjustment of the task computing load. By combining the task value sorting with the resource constraints after risk adjustment to make offloading decisions, and using a distributed consensus protocol to ensure the coordinated execution of the scheduling scheme in the cluster, the success rate of key task offloading and the collaborative work efficiency of the robot cluster can be improved in complex dynamic scenarios.

[0082] In an implementation that can be implemented, the method further comprises:

[0083] Based on the congestion values of the congestion grid map, a spatial weight matrix is constructed.

[0084] The spatial weight matrix is a two-dimensional matrix consistent with the congestion grid map in terms of dimension and resolution, and the values in the matrix are weight values obtained after function conversion. The edge computing server traverses each grid in the congestion grid map, reads its congestion value and processes it through a preset nonlinear conversion function to generate a corresponding weight value. The conversion function is used to amplify the influence of high congestion values. The preset nonlinear conversion function can be an exponential function as shown in formula (1).

[0085] f(x)=e k×x (1)

[0086] wherein x is a congestion value, e is the base of the natural logarithm, and k is a gain coefficient, k > 0. A grid with a congestion value of 0.2, after being processed by the exponential function, can have a weight value of 1.11; a grid with a congestion value of 1.2 can have a weight value of 1.82. Fill all the calculated weight values into the corresponding positions to form a spatial weight matrix that highlights high-risk areas.

[0087] According to the position information and the path planning information, determine the weight sequence corresponding to each mobile robot in the spatial weight matrix, and obtain the weight coefficient of the task associated with each mobile robot by calculating the mean of the weight sequence.

[0088] The weight sequence is a one-dimensional array composed of multiple weight values, which represents the comprehensive risk of the area through which the planned path of the mobile robot passes. The weight coefficient is a single quantitative value, which is a comprehensive evaluation result of the risk of the entire weight sequence, and is used to adjust the priority of the task in subsequent task sorting.

[0089] The edge computing server determines the position information and the path planning information of each mobile robot, maps the complete path trajectory composed of the two information to the spatial weight matrix generated in the previous step, extracts all the matrix points through which the path trajectory passes, reads the weight values corresponding to these points, and forms a weight sequence. The weight sequence is a one-dimensional array composed of multiple weight values, which represents the comprehensive risk of the area through which the planned path of the mobile robot passes. For example, the path of a mobile robot passes through 15 grids, and the server extracts the weight values {1.05, 1.11, 1.22,..., 1.82} corresponding to the 15 points to form a weight sequence. Finally, the weight coefficient representing the comprehensive risk of the entire path of the mobile robot is obtained by calculating the arithmetic mean of all weight values in the weight sequence, for example, the mean of the above weight sequence is 1.35, and the weight coefficient of the task associated with the mobile robot is 1.35.

[0090] Step S150: Sort all tasks using the time requirement level and the priority, adjust the task computing load using the network quality index, and determine the unloading task set from the sorted tasks according to the adjusted task computing load and the load information of the edge computing server, including: sorting all tasks using the time requirement level, the priority, and the weight coefficient of each task, adjusting the task computing load using the network quality index, and determining the unloading task set from the sorted tasks according to the adjusted task computing load and the load information of the edge computing server.

[0091] Figure 2 A flowchart of a method for determining an unloading task set is shown. As shown in FIG. 1, the method comprises the following steps:Figure 2 As shown, the method includes steps S210 to S240.

[0092] In an implementable embodiment, all tasks are sorted using the time-criticality level, priority and weight coefficient of each task, the task computing load is adjusted using the network quality index, and the set of offloaded tasks is determined from the sorted tasks according to the adjusted task computing load and the load information of the edge computing server, including:

[0093] S210: Based on the priority and time-criticality level of the task, a preset scheduling function is used to generate a basic scheduling score for each task.

[0094] The basic scheduling score is a quantitative value for evaluating the intrinsic scheduling value of a task. The higher the value, the higher the importance and time urgency of the task. The edge computing server extracts the priority and time-criticality level of each task offloading request information. A preset scheduling function is used to calculate the two parameters to generate a basic scheduling score. For example, the scheduling function can be in the form of formula (2).

[0095] BS i = P i × (1 + α × E i ) (2)

[0096] where BS i is the basic scheduling score of task i P i is the priority of task i; E i is the value of the time-criticality level of task i after numerical processing; and a is a coefficient greater than 0. For example, a task with a priority of 5.0 and a time-criticality level quantization value of 10, when a is set to 0.1, its basic scheduling score is calculated as 10.0.

[0097] S220: Adjust the basic scheduling score using the weight coefficient to obtain the scheduling score of each task, and arrange all tasks in descending order using the scheduling score to generate a task candidate sequence.

[0098] The task candidate sequence is an ordered list formed by arranging all tasks to be processed in descending order of scheduling score. The edge computing server mathematically operates the basic scheduling score of each task generated in the previous step with the weight coefficient associated with the task to obtain the final scheduling score. For example, a task with a basic scheduling score of 10.0 and an associated weight coefficient of 1.35, its final scheduling score is calculated as 13.5. After calculating the scheduling score of all tasks, the server arranges all tasks in descending order of scheduling score to form the final task candidate sequence.

[0099] S230: Based on the task computing load and the network quality index of each task, a preset risk function is used to calculate a target computing load of each task.

[0100] The edge computing server extracts the original task computing load and the corresponding network quality index of each task. The server uses a preset risk function to calculate a target computing load. The risk function aims to convert network communication risk into equivalent occupation of computing resources. For example, the risk function can be in the form of formula (3).

[0101] CL i = L i (1+γ(1-NQ i )) (3)

[0102] wherein CL i is the target computing load of task i; L i is the original task computing load of task i; NQ i is the network quality index corresponding to task i; and γ is a risk sensitivity coefficient greater than 0. For example, a task with an original task computing load of {CPU: 1, GPU: 0.5} and a network quality index of 0.36, when γ is set to 0.3, its target computing load is calculated as {CPU: 1.19, GPU: 0.60}.

[0103] S240: Starting from the beginning of the task candidate sequence, the target computing load of each task is accumulated until the ratio of the total accumulated computing load to the available resources in the load information is greater than a preset ratio threshold, and all the accumulated tasks are determined as the set of offloaded tasks.

[0104] The edge computing server starts from the beginning of the task candidate sequence generated in the previous step, i.e., the task with the highest scheduling score, and accumulates the target computing load of each task one by one. After each task is accumulated, the ratio of the total accumulated computing load to the total amount of currently available resources of the server is calculated and compared with the preset ratio threshold. For example, assuming that the currently available resources of the server are {CPU: 8, GPU: 4.0} and the preset ratio threshold is 0.95, i.e., the upper limit of available resources is {CPU: 7.6, GPU: 3.8}. Starting from the first task in the sequence, when the seventh task is accumulated, the total computing load is {CPU: 7.3, GPU: 3.6}, which does not exceed the resource upper limit; when the eighth task is accumulated, the total computing load becomes {CPU: 8.5, GPU: 4.1}, at which point the CPU and GPU occupation ratios both exceed the threshold of 0.95. Therefore, the server stops accumulating and determines the first seven accumulated tasks as the final set of offloaded tasks.

[0105] The embodiment deepens the utilization of the risk of the physical environment by constructing a space weight matrix and calculating a weight coefficient of the associated path risk for each task. The weight coefficient not only includes the congestion degree of each point on the path of the robot, but also reflects the comprehensive risk level of the entire path. The weight coefficient is directly introduced into the task sorting link, so that the server can give higher attention to tasks with higher path risks when making scheduling decisions, so that the scheduling decision has stronger risk perception ability and can more actively prioritize high-risk or high-value tasks, further optimize the task scheduling sequence, can prioritize the execution of tasks in critical paths or high-risk environments when resources are scarce, and improve the collaborative operation efficiency of the robot cluster in a high-dynamic confrontation environment.

[0106] In an implementable embodiment, the method further comprises:

[0107] Based on the mean value of the network quality index of each mobile robot, the target consensus time window is determined in a preset mapping relationship between network quality index and consensus time window.

[0108] The target consensus time window is a specific time length, which sets a maximum allowed time consumption for the subsequent distributed consensus process. The edge computing server collects the network quality indexes corresponding to all mobile robots and calculates the arithmetic mean of these indexes to obtain a global network quality mean value that can reflect the quality of the overall cluster communication environment. For example, if there are 20 mobile robots in the current cluster, the server calculates the average value of all network quality indexes as 0.75. Then, in a preset mapping relationship between network quality index and consensus time window, the target consensus time window is determined according to the global network quality mean value. The mapping relationship can be a function as shown in formula (4). The higher the global network quality mean value, the shorter the target consensus time window.

[0109] Tc = Tmax - γt x log(1 + NQavg) (4)

[0110] Wherein, Tc is the target consensus time window; Tmax is a preset maximum allowed consensus time; NQavg is the global network quality mean value; γt is a time adjustment coefficient. When Tmax is set to 3 seconds and γt is set to 2.5, the server calculates the target consensus time window as 1.60 seconds.

[0111] Step S160: Send the unloading task set to the Leader node for the Leader node to synchronize the unloading task set in the robot cluster through a distributed consensus protocol to reach a consensus, and receive the tasks in the unloading task set sent by each mobile robot, including:

[0112] S161: send the set of offloading tasks and the target consensus time window to the Leader node for the Leader node to synchronize the set of offloading tasks within the robot cluster through a distributed consensus protocol to reach consensus within the target consensus time window.

[0113] The edge computing server encapsulates the final set of offloading tasks determined in step S150 together with the computed target consensus time window into a scheduling instruction package. For example, the server packages a set of offloading tasks containing 7 task IDs together with a computed target consensus time window of 1.60 seconds. The scheduling instruction package is then sent to the current Leader node in the robot cluster through a wireless communication link. After receiving and parsing the instruction package, the Leader node initiates its internally running distributed consensus protocol to broadcast the set of offloading tasks as a consensus proposal to all other mobile robots in the cluster and simultaneously starts a timer with the same length as the target consensus time window of 1.60 seconds. In this way, the Leader node ensures that the entire consensus process must be completed within the strict time limit.

[0114] S162: receive the tasks in the set of offloading tasks sent by each mobile robot after reaching consensus.

[0115] After the Leader node successfully leads the cluster to reach consensus within the target consensus time window, the mobile robots assigned with tasks start to perform offloading operations. For example, after the Leader node completes the consensus process within 0.8 seconds, the 7 mobile robots assigned with tasks start to send their respective task data to the edge computing server. The edge computing server listens to and receives the task data packages of the offloading tasks sent by these mobile robots at this time. After receiving the task data, the server puts it into an execution queue and schedules its computing resources to start executing the task according to the task computing load requirements.

[0116] In an implementation that can be implemented, the Leader node synchronizes the set of offloading tasks within the robot cluster through a distributed consensus protocol to reach consensus within the target consensus time window in step S161, comprising:

[0117] The Leader node broadcasts a consensus proposal including the set of offloading tasks to each mobile robot in the robot cluster and starts a timer with the same length as the target consensus time window.

[0118] The Leader node immediately parses the offloading task set and the target consensus time window after receiving the scheduling instruction package from the edge computing server. For example, the Leader node parses an offloading task set containing 7 task IDs and a target consensus time window of 1.60 seconds. Subsequently, the Leader node encapsulates the offloading task set into a consensus proposal and sends it to all other mobile robots in the form of a broadcast through the wireless communication network inside the cluster. At the same time of sending the broadcast, the Leader node starts a local timer and sets the countdown duration of the timer to the length of the received target consensus time window of 1.60 seconds.

[0119] Each mobile robot replies to the Leader node with an acknowledgement message after receiving the consensus proposal.

[0120] Each mobile robot in the robot cluster continuously listens to communications from the Leader node. When a mobile robot receives the consensus proposal containing 7 task IDs broadcast by the Leader node, it will first verify the validity of the proposal. The local stored public key of the Leader node can be used to verify the digital signature attached to the consensus proposal to confirm its source. At the same time, the term number in the proposal is compared with the local term number to ensure that the proposal is not an outdated message. After verification, the mobile robot records the content of the offloading task set in the local log and immediately unicast an acknowledgement message to the Leader node indicating that it is ready to accept the scheduling scheme.

[0121] The Leader node broadcasts the consensus achievement to all mobile robots if it receives acknowledgement messages from more than half of the mobile robots before the timer ends.

[0122] The Leader node starts counting the number of received acknowledgement messages from other mobile robots after starting the 1.60-second timer. In a cluster containing 20 mobile robots, at least 11 nodes are required to achieve consensus. For example, when the timer has elapsed for 0.8 seconds, the Leader node counts that it has received acknowledgement messages from another 10 mobile robots, plus itself, totaling 11 nodes, meeting the requirement of at least half of the 11 nodes. Therefore, the Leader node immediately determines that this consensus has been achieved. Subsequently, the Leader node broadcasts an acknowledgement message to all 20 mobile robots in the cluster, indicating that the offloading task set is now in effect and can be executed.

[0123] Figure 3 A flowchart of a method for generating a congestion grid map is shown. As shown in FIG. 1, the method includes the following steps:Figure 3 As shown, the method includes steps S310 to S330.

[0124] In an implementable embodiment, step S120: performing dense optical flow field calculation on panoramic visual data to obtain a motion vector field, performing spatial statistical analysis on the motion vector field to generate a congestion index corresponding to each mobile robot, and generating a congestion grid map of the area where the robot cluster is located based on the congestion index and position information, includes:

[0125] S310: performing pixel-by-pixel matching on consecutive video frames in panoramic visual data, calculating the displacement vector of each pixel between two consecutive video frames, and composing a motion vector field based on all displacement vectors.

[0126] The edge computing server performs a dense optical flow estimation algorithm on two consecutive images in the panoramic visual data obtained from a certain mobile robot. The algorithm finds a best matching point in the second frame image for each pixel point in the first frame image by comparing the gray scale or color information of the corresponding pixel points and their neighborhoods in the two images. The coordinate difference between the two corresponding points is calculated as a displacement vector. For example, a pixel point located at the coordinate (100, 200) in the first frame image matches to the point (102, 201) in the second frame, and the corresponding displacement vector is (2, 1). The edge computing server repeats this process for all pixel points, and finally combines all the calculated displacement vectors to form a motion vector field representing the dynamics of the entire field of view with the same size as the image resolution.

[0127] S320: calculating the mean value of the magnitude of all displacement vectors in the motion vector field and the divergence of the motion vector field, and obtaining the congestion index corresponding to each mobile robot by weighted summation.

[0128] The edge computing server first calculates the Euclidean lengths of all displacement vectors in the motion vector field generated in the previous step, and calculates the arithmetic mean of these magnitudes. At the same time, the divergence of the vector field is obtained by calculating the partial derivatives of the motion vector field in the horizontal and vertical directions. Finally, the calculated mean value of the magnitude and the divergence value are combined by a pre-set weighted summation function to generate a congestion index that can comprehensively reflect the intensity of motion and the degree of confusion. For example, if the calculated mean value of the magnitude is 1.5 pixels / frame and the average divergence is 0.8, and the weights of the mean value of the displacement vector magnitude and the divergence of the motion vector field in the weighted summation function are 0.6 and 0.4 respectively, then the congestion index corresponding to the mobile robot is calculated by the pre-set weighted summation function to be 1.22.

[0129] S330: In the global coordinate system divided into multiple grids, the corresponding target grid is determined in the global coordinate system according to the position information of each mobile robot, the congestion index corresponding to the mobile robot is filled into the target grid, and the grid without congestion index corresponding in the global coordinate system is filled by a spatial interpolation algorithm to generate a congestion grid map.

[0130] The edge computing server first determines the unique target grid where each mobile robot is located according to the real-time position information of each mobile robot in a global coordinate system covering the entire working area and divided into multiple grids. For example, in a 100m x 200m warehouse global coordinate system, which has been divided into 1m x 1m grids, according to the position information (35.2, 58.1) of a mobile robot, it is determined that the corresponding target grid is the grid in the 36th row and the 59th column. The congestion index corresponding to the mobile robot, for example, 1.22, is filled as the value of the target grid. After filling the congestion index corresponding to all 20 mobile robots into the respective target grids, a spatial interpolation algorithm, such as inverse distance weighting interpolation method, is used to calculate and fill all the remaining grids on the map without direct filling values. According to the distance between an unknown grid and all known value target grids, the congestion value of the unknown grid is calculated by weighting, and the closer the target grid, the higher the weight.

[0131] In an implementable embodiment, step S140: calculate the priority of each task based on the task computing load and the time efficiency requirement level, and calculate the network quality index of each mobile robot according to the congestion grid map and the path planning information, including:

[0132] The priority of each task is generated by calculating the ratio of the time efficiency requirement level to the task computing load.

[0133] The edge computing server processes the time efficiency requirement level in the received task offloading request information for each received task offloading request information, and quantifies the task computing load. The numerical processing of the time efficiency requirement level can be completed by a mapping table, as shown in Table 1.

[0134] Table 1: Comparison table of time efficiency requirement level and time efficiency requirement value

[0135] Aging requirement level Value High 10 High-medium 8 Medium 5 Low 2

[0136] For example, a high-precision cargo identification task, whose time requirement level is high, is mapped to the value 10 according to Table 1. According to a preset conversion relationship Cost = 1 x CPU computing resource requirement + 2 x GPU computing resource requirement, the task computing load {CPU: 1, GPU: 0.5} is quantified as a comprehensive cost value 2. Finally, the priority value reflecting the task execution benefit is obtained by directly calculating the ratio of the numerically valued time requirement level to the quantified task computing load. In this example, the priority of the task is calculated as 5.

[0137] According to the path planning information, a grid set through which the mobile robot passes is determined in the congestion grid map, and the congestion value with the largest value in the grid set is determined as the target congestion value.

[0138] The edge computing server determines, for each task, path planning information of a mobile robot to which the task belongs. The path trajectory, i.e., a series of consecutive waypoint coordinates, is mapped to the congestion grid map generated in step S120. In order to determine all the grids through which the trajectory passes, a series of path sampling points are generated by densely sampling along the path trajectory at a preset step size smaller than the size of a single grid; then the grid coordinates of each path sampling point are calculated, and all the calculated grid coordinates are merged and de-duplicated to finally form a grid set that can represent the coverage range of the path. For example, the path planning information of a mobile robot is parsed as a 15-meter-long trajectory, and on a map with a grid size of 1 meter x 1 meter, the server samples at a step size of 0.5 meters to generate 30 path sampling points, which finally fall into 25 different grids, thereby determining a grid set containing 25 grids.

[0139] Subsequently, the server traverses the grid set containing 25 grids, reads the congestion values of each grid, and searches for and determines the congestion value with the largest value from among them as the target congestion value of the path. In this example, the server finds that a grid located at a busy intersection has the largest congestion value of 1.8, and therefore determines 1.8 as the target congestion value of the path.

[0140] The network quality index of each mobile robot is calculated using a normalization function inversely proportional to the path congestion peak value.

[0141] The edge computing server takes the target congestion value determined in the previous step as input and calculates the final network quality index by operating on a preset normalization function inversely proportional to the target congestion value. The larger the input target congestion value in the function, the smaller the output network quality index. For example, the normalization function can be as shown in formula (5).

[0142]

[0143] wherein, NQ i is the network quality index of the mobile robot i, V i is the target congestion value, and w is a penalty coefficient greater than 0. Using the obtained target congestion value 1.8, when w is set to 1, the network quality index of the mobile robot is about 0.36 by formula (5).

[0144] Based on the same idea, the embodiment of the present application provides a task selection and offloading system based on an edge computing server. The following will be described in combination with Figure 4 The task selection and offloading system based on an edge computing server provided by the embodiment of the present application will be described in detail.

[0145] Figure 4 is a structural block diagram of a task selection and offloading system based on an edge computing server provided by the embodiment of the present application.

[0146] The system is applied to an edge computing server, as shown in the figure, the system can include: Figure 4

[0147] The acquisition module 410 is configured to acquire movement information and collected panoramic visual data of each mobile robot in the robot cluster, the panoramic visual data includes a plurality of continuous video frames, the movement information includes position information and path planning information, and the robot cluster shares the edge computing server.

[0148] The generation module 420 is configured to perform dense optical flow field calculation on the panoramic visual data to obtain a motion vector field, perform spatial statistical analysis on the motion vector field, generate a congestion index corresponding to each mobile robot, and generate a congestion grid map of a region where the robot cluster is located based on the congestion index and the position information.

[0149] The receiving module 430 is configured to receive task offloading request information of each mobile robot sent by an elected Leader node in the robot cluster, the task offloading request information including task computing load and time efficiency requirement level of each task.

[0150] The calculation module 440 is configured to calculate a priority of each task based on the task computing load and the time efficiency requirement level, and calculate a network quality index of each mobile robot according to the congestion grid map and the path planning information, the network quality index of each task corresponding to an associated mobile robot.

[0151] The determination module 450 is configured to sort all tasks by using the time efficiency requirement level and the priority, adjust the task computing load by using the network quality index, and determine an offloading task set from the sorted all tasks according to the adjusted task computing load and load information of the edge computing server. ​

[0152] The sending module 460 is used to send the unloading task set to the Leader node, so that the Leader node can synchronize the unloading task set within the robot cluster through a distributed consensus protocol to reach a consensus, and receive the tasks in the unloading task set sent by each mobile robot.

[0153] In one embodiment, the determining module 450 is further configured to construct a spatial weight matrix based on the congestion values ​​of the congestion grid map; determine the weight sequence corresponding to each mobile robot in the spatial weight matrix according to the location information and path planning information, and obtain the weight coefficient of the task associated with each mobile robot by calculating the mean of the weight sequence; sort all tasks using the timeliness requirement level, priority and weight coefficient of each task; adjust the task computing load using the network quality index; and determine the unloading task set among all sorted tasks based on the adjusted task computing load and the load information of the edge computing server.

[0154] In one embodiment, the determining module 450 is specifically used to generate a basic scheduling score for each task based on the task's priority and timeliness requirement level using a preset scheduling function; adjust the basic scheduling score using a weighting coefficient to obtain a scheduling score for each task; and use the scheduling score to sort all tasks in descending order to generate a task candidate sequence; generate a target computing load for each task based on the task's computational load and network quality index using a preset risk function; starting from the beginning of the task candidate sequence, accumulate the target computing load for each task until the ratio of the accumulated total computing load to the available resources in the load information is greater than a preset ratio threshold, and determine all the accumulated tasks as an offload task set.

[0155] In one embodiment, the sending module 460 is further configured to determine a target consensus time window based on the average network quality index of each mobile robot in a preset mapping relationship between network quality index and consensus time window; send the unloading task set and the target consensus time window to the Leader node so that the Leader node can synchronize the unloading task set within the robot cluster through a distributed consensus protocol so that the robot cluster can reach consensus within the target consensus time window; and receive the tasks in the unloading task set sent by each mobile robot after consensus is reached.

[0156] In one embodiment, the sending module 460 is specifically configured to broadcast, by the Leader node, a consensus proposal including the set of offloading tasks to each mobile robot in the robot cluster, and start a timer with a length equal to a target consensus time window; after each mobile robot receives the consensus proposal, the mobile robot sends back an acknowledgement to the Leader node; and if the Leader node receives the acknowledgement from more than half of the mobile robots before the timer ends, the Leader node determines that consensus is reached, and broadcasts the consensus to all the mobile robots.

[0157] In one embodiment, the generating module 420 is specifically configured to perform pixel-by-pixel matching on consecutive video frames in the panoramic visual data, calculate a displacement vector of each pixel between two consecutive video frames, and form a motion vector field based on all the displacement vectors; calculate a mean value of amplitudes of all the displacement vectors in the motion vector field and a divergence of the motion vector field, and obtain a congestion index corresponding to each mobile robot through weighted summation; in a global coordinate system divided into multiple grids, determine a target grid corresponding to each mobile robot in the global coordinate system according to position information of the mobile robot, fill the congestion index corresponding to the mobile robot into the target grid, and fill grids in the global coordinate system that have no corresponding congestion index through a spatial interpolation algorithm, to generate a congestion grid map.

[0158] In one embodiment, the calculating module 440 is specifically configured to generate a priority of each task by calculating a ratio of a time-sensitive requirement level to a task computing load; determine a grid set that the mobile robot passes through in the congestion grid map according to path planning information, and determine a target congestion value as a maximum congestion value in the grid set; and calculate the network quality index of each mobile robot by using a normalization function that is inversely proportional to the path congestion peak value.

[0159] Figure 4 Each module in the system has the function of implementing each step in the method and can achieve the corresponding technical effects. For brevity, the details are not described here. Figures 1 to 3 Each module in the system has the function of implementing each step in the method and can achieve the corresponding technical effects. For brevity, the details are not described here.

[0160] Figure 5 A hardware structure schematic diagram of an electronic device is shown.

[0161] The electronic device can include a processor 510 and a memory 520 storing computer program instructions.

[0162] Specifically, the processor 510 described above can include a central processing unit (CPU), or an application specific integrated circuit (ASIC), or can be configured as one or more integrated circuits that implement one or more embodiments of the present application.

[0163] The memory 520 can include mass storage for data or instructions. As an example and not by way of limitation, the memory 520 can include a hard disk drive (HDD), a floppy disk drive, flash memory, an optical disc (e.g., a compact disc (CD) or a digital versatile disc (DVD)), a solid-state drive (SSD), a USB drive, or a combination of two or more of these. Where appropriate, the memory 520 can include removable or non-removable (or fixed) media, where appropriate. The memory 520 can be internal or external to the integrated gateway disaster recovery device. In particular embodiments, the memory 520 is non-volatile, solid-state memory.

[0164] The memory can include read-only memory (ROM), random-access memory (RAM), magnetic disk storage mediums, optical storage mediums, flash memory devices, electrical, optical, or other physical / tangible memory storage devices. Thus, in general, the memory includes one or more tangible (non-transitory) computer-readable storage media (e.g., a memory device) encoded with software that, when executed (by one or more processors), is operable to access the operations described with reference to the methods according to the first aspect of the present disclosure.

[0165] The processor 510 implements any one of the above-mentioned edge computing server-based task selection offloading methods by reading and executing computer program instructions stored in the memory 520.

[0166] In one example, the electronic device can further include a communication interface 530 and a bus 540. As shown, the processor 510, the memory 520, and the communication interface 530 are connected through the bus 540 and complete communication among each other. Figure 5

[0167] The communication interface 530 is mainly used to realize the communication between the modules, devices, units and / or equipment in the embodiments of the present application.

[0168] ​Bus 540 includes hardware, software, or both, to couple components of the online data traffic metering device to each other and to couple components to other components within the online data traffic metering device. While bus 540 is shown for the sake of clarity as a single bus, it can include one or more buses operating together. Bus 540 can be implemented using any suitable type of bus or buses, including, but not limited to, an Accelerated Graphics Port (AGP) or other graphics bus, an Enhanced Industry Standard Architecture (EISA) bus, a Front Side Bus (FSB), a HyperTransport (HT) interconnect, an Industry Standard Architecture (ISA) bus, an InfiniBand™ interconnect, a Low Pin Count (LPC) bus, a memory bus, a Micro Channel Architecture (MCA) bus, a Peripheral Component Interconnect (PCI) bus, a PCI-Express (PCI-X) bus, a Serial Advanced Technology Attachment (SATA) bus, a Video Electronics Standards Association Local (VLB) bus, or any other suitable bus or interconnect, or a combination of two or more of these. Where appropriate, bus 540 can be implemented as a system-wide interconnect or a combination of busses.

[0169] The electronic device can perform the task selection offloading method based on the edge computing server in the embodiments of the present application, so as to realize the task selection offloading method based on the edge computing server described in the Figures 1 to 3

[0170] In addition, in combination with the task selection offloading method based on the edge computing server in the above-mentioned embodiments, the embodiments of the present application can provide a computer readable storage medium to realize. The computer readable storage medium has computer program instructions stored thereon; the computer program instructions are executed by the processor to realize any one of the task selection offloading methods based on the edge computing server in the above-mentioned embodiments.

[0171] It needs to be clear that the present application is not limited to the specific configurations and processes described above and shown in the drawings. For the sake of brevity, detailed descriptions of well-known methods are omitted here. In the above-mentioned embodiments, several specific steps are described and shown as examples. However, the method process of the present application is not limited to the specific steps described and shown, and those skilled in the art can make various changes, modifications and additions, or change the order between steps, after understanding the spirit of the present application.

[0172] ​The functions noted in the description of the structural block diagrams above can be implemented as hardware, software, firmware, or a combination thereof. When implemented in hardware, they can be, for example, electronic circuits, application specific integrated circuits (ASICs), appropriate firmware, plug-ins, functional cards, and the like. When implemented in software, the elements of the present application are program or code segments that are used to perform the required tasks. The program or code segments can be stored in a machine-readable medium or transmitted through a data signal carried in a carrier wave over a transmission medium or communication link. A "machine-readable medium" includes any medium that can store or transport information. Examples of machine-readable media include electronic circuits, semiconductor memory devices, ROM, flash memory, erasable ROM (EROM), floppy disks, CD-ROMs, optical disks, hard disks, fiber optic media, radio frequency (RF) links, and the like. The code segments can be downloaded via computer networks such as the Internet, intranets, and the like.

[0173] It is also important to note that the examples described herein can be implemented in a variety of systems, including and not limited to a digital electronic circuit, an analog electronic circuit, a computer hardware, firmware, software, or in combinations of them. The example described herein can be implemented as one or more computer programs running on a computer or other programmable data processing devices, a computer program, a computer program product, a computer readable storage medium for storing a computer program, or as one or more computer programs running on a computer or other programmable data processing devices, programmable logic for use with a computer system, an apparatus or system.

[0174] Computer program or programs can be stored in a memory of a machine readable medium, for example, in the form of a computer program product. The memory of a machine readable medium can be, for example, a read-only memory (ROM), a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), a flash memory, a floppy diskette, a CD-ROM, other type of optical disk storage, or a magnetic tape. The computer program product can also be a memory of a server, a database, or a file server. The computer program product can also be a propagated signal on a carrier wave, for example, a data signal on an electromagnetic carrier wave, a bitstream, or a data stream on a packetized computer network, or a propagated signal on any other type of carrier wave.

[0175] The above merely describes a specific implementation of the present application. Those skilled in the art can clearly understand the specific working processes of the system, modules and units described above for the convenience and brevity of description, and can refer to the corresponding processes in the foregoing method embodiments, which will not be described herein again. It should be understood that the protection scope of the present application is not limited to this, and any person skilled in the art can easily think of various equivalent modifications or replacements within the technical range disclosed by the present application, and these modifications or replacements should be covered within the protection scope of the present application.

Claims

1. A task selection and offloading method based on an edge computing server, applied to an edge computing server, characterized in that, include: The robot cluster acquires movement information and collected panoramic visual data for each mobile robot in the cluster. The panoramic visual data includes multiple consecutive video frames, and the movement information includes location information and path planning information. The robot cluster shares the edge computing server. Dense optical flow field calculation is performed on the panoramic visual data to obtain a motion vector field. Spatial statistical analysis is performed on the motion vector field to generate a congestion index corresponding to each mobile robot. Based on the congestion index and the location information, a congestion grid map of the area where the robot cluster is located is generated. Receive task offload request information for each mobile robot sent by the Leader node elected in the robot cluster. The task offload request information includes the task computation load and timeliness requirement level of each task. Based on the task computational load and the timeliness requirement level, the priority of each task is calculated, and the network quality index of each mobile robot is calculated according to the congestion grid map and the path planning information. Each task corresponds to the network quality index of the associated mobile robot. Using the timeliness requirement level and the priority, all the tasks are sorted, the network quality index is used to adjust the computing load of the tasks, and based on the adjusted computing load of the tasks and the load information of the edge computing server, an unloaded task set is determined from all the sorted tasks. The unloading task set is sent to the Leader node so that the Leader node can synchronize the unloading task set within the robot cluster through a distributed consensus protocol to achieve consensus, and receive the tasks in the unloading task set sent by each of the mobile robots.

2. The method according to claim 1, characterized in that, The method further includes: Based on the congestion values ​​in the congestion grid map, a spatial weight matrix is ​​constructed; Based on the location information and the path planning information, a weight sequence corresponding to each mobile robot is determined in the spatial weight matrix, and the weight coefficient of the task associated with each mobile robot is obtained by calculating the mean of the weight sequence. The process involves sorting all tasks using the timeliness requirement level and the priority, adjusting the task computing load using the network quality index, and determining an offload task set from all sorted tasks based on the adjusted task computing load and the edge computing server load information. This includes: All tasks are sorted using the timeliness requirement level, priority, and weight coefficient of each task. The computational load of the tasks is adjusted using the network quality index. Based on the adjusted computational load of the tasks and the load information of the edge computing server, an unloaded task set is determined from all the sorted tasks.

3. The method according to claim 2, characterized in that, The process involves sorting all tasks based on their timeliness requirements, priority, and weighting coefficients; adjusting the computational load of each task using the network quality index; and determining an offload task set from the sorted tasks based on the adjusted computational load and the load information of the edge computing server. This includes: Based on the priority and timeliness requirement level of the task, a basic scheduling score for each task is generated through calculation using a preset scheduling function. The basic scheduling score is adjusted using the weighting coefficient to obtain the scheduling score for each task, and all tasks are sorted in descending order using the scheduling score to generate a task candidate sequence. Based on the task's computational load and the network quality index, a target computational load for each task is generated through calculation using a preset risk function. Starting from the beginning of the task candidate sequence, the target computing load of each task is accumulated until the ratio of the total accumulated computing load to the available resources in the load information is greater than a preset ratio threshold. All the tasks that have been accumulated are then identified as the unloading task set.

4. The method according to claim 1, characterized in that, The method further includes: Based on the average network quality index of each mobile robot, a target consensus time window is determined in the preset mapping relationship between network quality index and consensus time window. The step of sending the unloading task set to the Leader node, so that the Leader node can synchronize the unloading task set within the robot cluster through a distributed consensus protocol to achieve consensus, and receive the tasks in the unloading task set sent by each of the mobile robots, includes: The unloading task set and the target consensus time window are sent to the Leader node so that the Leader node can synchronize the unloading task set within the robot cluster through a distributed consensus protocol, so that the robot cluster can reach a consensus within the target consensus time window. Receive the tasks from the set of unloading tasks sent by each of the mobile robots after consensus has been reached.

5. The method according to claim 4, characterized in that, The Leader node synchronizes the set of unloading tasks within the robot cluster using a distributed consensus protocol, so that the robot cluster reaches consensus within the target consensus time window, including: The Leader node broadcasts a consensus proposal, including the set of unloading tasks, to each mobile robot in the robot cluster and starts a timer of the same length as the target consensus time window; After receiving the consensus proposal, each mobile robot replies with a confirmation message to the Leader node; If the Leader node receives the confirmation message from more than half of the mobile robots before the timer expires, it determines that a consensus has been reached and broadcasts the consensus to all the mobile robots.

6. The method according to claim 1, characterized in that, The process involves calculating a dense optical flow field from the panoramic visual data to obtain a motion vector field, performing spatial statistical analysis on the motion vector field to generate a congestion index for each mobile robot, and generating a congestion grid map of the area where the robot cluster is located based on the congestion index and the location information. Pixel-by-pixel matching is performed on consecutive video frames in the panoramic visual data, and the displacement vector of each pixel between two consecutive video frames is calculated. The motion vector field is then formed based on all the displacement vectors. Calculate the mean of the magnitudes of all displacement vectors within the motion vector field and the divergence of the motion vector field, and obtain the congestion index corresponding to each mobile robot by weighted summation; In a global coordinate system divided into multiple grids, a corresponding target grid is determined in the global coordinate system based on the position information of each mobile robot. The congestion index corresponding to the mobile robot is filled into the target grid, and a spatial interpolation algorithm is used to fill in the grids in the global coordinate system that do not correspond to the congestion index, thereby generating the congestion grid map.

7. The method according to claim 1, characterized in that, The process of calculating the priority of each task based on the task computational load and the timeliness requirement level, and calculating the network quality index of each mobile robot based on the congestion grid map and the path planning information, includes: The priority of each task is generated by calculating the ratio of the timeliness requirement level to the task's computational load. Based on the path planning information, the set of grids through which the mobile robot will pass is determined in the congestion grid map, and the congestion value with the largest value in the grid set is determined as the target congestion value. The network quality index for each mobile robot is calculated using a normalization function that is inversely proportional to the peak congestion level of the path.

8. A task selection and offloading system based on an edge computing server, applied to an edge computing server, characterized in that, The system includes: The acquisition module is used to acquire the movement information and collected panoramic visual data of each mobile robot in the robot cluster. The panoramic visual data includes multiple consecutive video frames, and the movement information includes position information and path planning information. The robot cluster shares the edge computing server. The generation module is used to calculate the motion vector field by performing dense optical flow field calculation on the panoramic visual data, perform spatial statistical analysis on the motion vector field, generate the congestion index corresponding to each mobile robot, and generate a congestion grid map of the area where the robot cluster is located based on the congestion index and the location information. The receiving module is used to receive task unloading request information for each mobile robot sent by the Leader node elected in the robot cluster. The task unloading request information includes the task computing load and timeliness requirement level of each task. The calculation module is used to calculate the priority of each task based on the task calculation load and the timeliness requirement level, and to calculate the network quality index of each mobile robot according to the congestion grid map and the path planning information, wherein each task corresponds to the network quality index of the associated mobile robot; The determination module is used to sort all the tasks using the timeliness requirement level and the priority, adjust the task computing load using the network quality index, and determine the unload task set from all the sorted tasks based on the adjusted task computing load and the load information of the edge computing server. The sending module is used to send the unloading task set to the Leader node, so that the Leader node can synchronize the unloading task set within the robot cluster through a distributed consensus protocol to achieve consensus, and receive the tasks in the unloading task set sent by each of the mobile robots.

9. An electronic device, characterized in that, The device includes: a processor and a memory storing computer program instructions; When the processor executes the computer program instructions, it implements the task selection and unloading method for edge computing servers as described in any one of claims 1-7.

10. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores computer program instructions that, when executed by a processor, implement the task selection and offloading method for an edge computing server as described in any one of claims 1-7.

Citation Information

Patent Citations

  • Priority-based unmanned aerial vehicle cluster assisted task calculation unloading method and device

    CN119789149A

  • Two-stage task cooperation unloading method in Internet of Vehicles

    CN119815416A

  • Edge computing node task unloading method based on fruit fly optimization and ant colony collaboration

    CN120335886A

  • System and method for offloading robotic functions to network edge augmented clouds

    EP3328035A1