A method, device, computer device and storage medium for robot scheduling

By using a factor analysis weighting algorithm that comprehensively considers expected response time, robot survival time, and scheduling frequency, robot task scheduling is optimized, solving the problem of significant limitations in existing scheduling schemes and improving the rationality and adaptability of robot scheduling schemes.

CN114462780BActive Publication Date: 2026-01-06HUAMENG TECH CONSULTING (SHENZHEN) CO LTD
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
CN202111628350.9
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-12-28
Publication Date
2026-01-06
Estimated Expiration
2041-12-28

AI Technical Summary

Technical Problem

Existing robot scheduling solutions have significant limitations and are difficult to meet the scheduling needs in complex scenarios, especially in high-risk scenarios where it is difficult to achieve reasonable task allocation.

Method used

A factor analysis weighting algorithm that comprehensively considers the expected response time of the task to be scheduled, the robot's survival time, and the number of scheduling attempts is adopted. The robot task scheduling is optimized by a weighted round-robin algorithm to generate a task scheduling weight sequence and allocate tasks reasonably.

Benefits of technology

It improves the adaptability and rationality of robot scheduling schemes, enabling more reasonable task allocation in various complex scenarios and enhancing scheduling efficiency and adaptability.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114462780B_ABST
    Figure CN114462780B_ABST
Patent Text Reader

Abstract

The application discloses a kind of method, device, computer equipment and storage medium of robot scheduling, belong to robot scheduling technical field.The application is extracted by scheduling task, and obtains the information of scheduling task, wherein the information of scheduling task includes expected response time, obtains robot historical scheduling information, wherein the robot historical scheduling information includes robot survival time and robot scheduling times, based on expected response time, robot survival time and robot scheduling times using preset factor analysis weight algorithm calculates the task scheduling weight of robot, combines the scheduling task weight of robot, generates the task scheduling weight sequence of robot, based on the task scheduling weight sequence of robot using weighted round robin algorithm to scheduling task is scheduled.The application is optimized by comprehensively expected response time, robot survival time and robot scheduling times of scheduling task to the task scheduling of robot, so that task scheduling process is more reasonable.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application belongs to the field of robot scheduling technology, specifically relating to a robot scheduling method, apparatus, computer equipment, and storage medium. Background Technology

[0002] With rising labor costs and the development of AI technology, robots are gradually replacing human workers in some fields. Currently, robots are being used in various fields such as cleaning, delivery, disinfection, reception, and security patrols. Robots can not only save a lot of labor costs, but also improve the user experience, fun, and privacy. More importantly, especially in some high-risk scenarios, robots are needed to replace humans in their work, and the replacement of humans by robots is an inevitable trend.

[0003] Currently, automated robot scheduling in the industry is generally based on directed acyclic scheduling, which is based on the first-come-first-served principle or the highest priority scheduling principle. However, the highest priority scheduling principle of robot scheduling schemes arranged by directed acyclic is generally based only on time priority or manually set weight priority, which has great limitations and is difficult to meet the robot scheduling needs in complex scenarios. Summary of the Invention

[0004] The purpose of this application is to propose a robot scheduling method, apparatus, computer equipment, and storage medium to solve the technical problem that existing robot scheduling schemes have significant limitations and are difficult to meet the robot scheduling needs in complex scenarios.

[0005] To address the aforementioned technical problems, this application provides a robot scheduling method, employing the following technical solution:

[0006] A method for robot scheduling includes:

[0007] Receive a task scheduling instruction, extract the task to be scheduled based on the task scheduling instruction, and obtain the task information to be scheduled, wherein the task information to be scheduled includes the estimated response time;

[0008] Obtain historical robot scheduling information, wherein the historical robot scheduling information includes robot survival time and number of robot scheduling attempts;

[0009] The robot's task scheduling weight is calculated using a preset factor analysis weighting algorithm based on the expected response time, the robot's survival time, and the number of robot scheduling attempts.

[0010] Combine the scheduling task weights of the robot to generate the task scheduling weight sequence of the robot;

[0011] The task to be scheduled is scheduled using a weighted round-robin algorithm based on the task scheduling weight sequence of the robot.

[0012] Furthermore, the tasks to be scheduled and their information are stored in a directed acyclic file. The step of extracting the tasks to be scheduled based on the task scheduling instructions and obtaining the task information specifically includes:

[0013] Based on the task scheduling instruction, the corresponding directed acyclic file is obtained from the preset scheduling queue;

[0014] The directed acyclic file is parsed to obtain the task to be scheduled and its information.

[0015] Furthermore, the step of calculating the robot's task scheduling weight using a preset factor analysis weighting algorithm based on the expected response time, the robot's survival time, and the number of robot scheduling attempts specifically includes:

[0016] The dynamic weight of the robot is calculated using a preset factor analysis weighting algorithm based on the expected response time, the robot survival time, and the number of robot scheduling attempts.

[0017] The robot's initial weights are obtained, and the dynamic weights are added to the initial weights to obtain the robot's task scheduling weights.

[0018] Furthermore, the step of calculating the robot's dynamic weight using a preset factor analysis weighting algorithm based on the expected response time, the robot's survival time, and the number of robot scheduling attempts specifically includes:

[0019] Factor features are extracted from the expected response time, the robot survival time, and the number of robot scheduling attempts to obtain factor features;

[0020] The factor features are transformed into vectors to obtain factor feature vectors;

[0021] Construct a relevant component matrix based on the factor eigenvectors, and solve for the variance of the relevant component matrix;

[0022] The variance contribution rate is calculated based on the variance of the relevant component matrix, and the dynamic weights of the robot are determined based on the variance contribution rate.

[0023] Further, the step of constructing the relevant component matrix based on the factor eigenvectors and solving for the variance of the relevant component matrix specifically includes:

[0024] Perform factor rotation on the factor eigenvectors to obtain rotated eigenvectors;

[0025] Construct a relevant component matrix based on the rotated feature vectors;

[0026] The variance of the correlation component matrix is ​​obtained by solving for the variance of the largest orthogonal rotation factor in the correlation component matrix.

[0027] Furthermore, the task to be scheduled includes several subtasks, each of which is pre-configured with a corresponding weight. The step of scheduling the task to be scheduled based on the robot's task scheduling weight sequence and using a weighted round-robin algorithm specifically includes:

[0028] Determine the robot corresponding to the maximum weight value in the task scheduling weight sequence, and assign the first subtask to the robot corresponding to the maximum weight value;

[0029] Obtain the weight of the first subtask, and adjust the task scheduling weight sequence based on the weight of the first subtask;

[0030] The robot corresponding to the maximum weight value in the task scheduling weight sequence after weight adjustment is determined in turn, and the remaining subtasks are assigned to the robot corresponding to the maximum weight value each time, until all subtasks of the task to be scheduled are assigned.

[0031] Furthermore, the step of obtaining the weight of the first subtask and adjusting the task scheduling weight sequence based on the weight of the first subtask specifically includes:

[0032] Obtain the weight of the first subtask and the maximum weight value in the task scheduling weight sequence;

[0033] The adjusted weight value is obtained by subtracting the weight of the first subtask from the maximum weight value in the task scheduling weight sequence;

[0034] The maximum weight value in the task scheduling weight sequence is replaced with the adjusted weight value.

[0035] To address the aforementioned technical problems, this application also provides a robot scheduling device, which employs the following technical solution:

[0036] A robot scheduling apparatus, comprising:

[0037] The scheduling information acquisition module is used to receive task scheduling instructions, extract tasks to be scheduled based on the task scheduling instructions, and obtain information about the tasks to be scheduled, wherein the information about the tasks to be scheduled includes the estimated response time.

[0038] The historical information acquisition module is used to acquire historical scheduling information of the robot, wherein the historical scheduling information of the robot includes robot survival time and number of robot scheduling times;

[0039] The scheduling weight calculation module is used to calculate the robot's task scheduling weight based on the expected response time, the robot's survival time, and the number of robot scheduling attempts using a preset factor analysis weighting algorithm.

[0040] The weight sequence generation module is used to combine the scheduling task weights of the robot to generate the task scheduling weight sequence of the robot;

[0041] The scheduling task allocation module is used to schedule the tasks to be scheduled based on the task scheduling weight sequence of the robot using a weighted round-robin algorithm.

[0042] To address the aforementioned technical problems, this application also provides a computer device that employs the following technical solution:

[0043] A computer device includes a memory and a processor, the memory storing computer-readable instructions, the processor executing the computer-readable instructions to implement the steps of the robot scheduling method as described in any of the preceding claims.

[0044] To address the aforementioned technical problems, this application also provides a computer-readable storage medium, employing the technical solution described below:

[0045] A computer-readable storage medium storing computer-readable instructions, which, when executed by a processor, implement the steps of the robot scheduling method as described in any one of the preceding descriptions.

[0046] Compared with the prior art, the embodiments of this application have the following main advantages:

[0047] This application discloses a method, apparatus, computer device, and storage medium for robot scheduling, belonging to the field of robot scheduling technology. This application calculates the task scheduling weights of candidate robots by comprehensively considering the expected response time of the task to be scheduled, the robot's survival time, and the number of robot scheduling attempts, combined with a preset factor analysis weighting algorithm. Then, a task scheduling weight sequence is constructed using these candidate robot task scheduling weights. During robot task scheduling, a weighted round-robin algorithm is used to schedule the tasks based on this robot task scheduling weight sequence. This application optimizes robot task scheduling by comprehensively considering the expected response time of the task to be scheduled, the robot's survival time, and the number of robot scheduling attempts, making the task scheduling process more reasonable and improving the adaptability of the scheduling scheme, making it suitable for use in various robot scheduling scenarios. Attached Figure Description

[0048] To more clearly illustrate the solutions in this application, the accompanying drawings used in the description of the embodiments of this application will be briefly introduced below. Obviously, the accompanying drawings described below are some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0049] Figure 1 An exemplary system architecture diagram is shown, in which this application can be applied;

[0050] Figure 2 A flowchart of one embodiment of the robot scheduling method according to this application is shown;

[0051] Figure 3 A schematic diagram of one embodiment of the robot scheduling apparatus according to this application is shown;

[0052] Figure 4 A schematic diagram of the structure of one embodiment of a computer device according to this application is shown. Detailed Implementation

[0053] Unless otherwise defined, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this application pertains; the terminology used herein in the specification of the application is for the purpose of describing particular embodiments only and is not intended to be limiting of the application; the terms "comprising" and "having," and any variations thereof, in the specification, claims, and foregoing drawings of this application, are intended to cover non-exclusive inclusion. The terms "first," "second," etc., in the specification, claims, or foregoing drawings of this application are used to distinguish different objects, not to describe a particular order.

[0054] In this document, the term "embodiment" means that a particular feature, structure, or characteristic described in connection with an embodiment may be included in at least one embodiment of this application. The appearance of this phrase in various places throughout the specification does not necessarily refer to the same embodiment, nor is it a separate or alternative embodiment mutually exclusive with other embodiments. It will be explicitly and implicitly understood by those skilled in the art that the embodiments described herein can be combined with other embodiments.

[0055] To enable those skilled in the art to better understand the present application, the technical solutions in the embodiments of the present application will be clearly and completely described below with reference to the accompanying drawings.

[0056] like Figure 1As shown, system architecture 100 may include terminal devices 101, 102, and 103, a network 104, and a server 105. Network 104 serves as the medium for providing communication links between terminal devices 101, 102, and 103 and server 105. Network 104 may include various connection types, such as wired or wireless communication links, or fiber optic cables, etc.

[0057] Users can use terminal devices 101, 102, and 103 to interact with server 105 via network 104 to receive or send messages, etc. Various communication client applications can be installed on terminal devices 101, 102, and 103, such as web browser applications, shopping applications, search applications, instant messaging tools, email clients, social media platform software, etc.

[0058] Terminal devices 101, 102, and 103 can be various electronic devices with displays and support web browsing, including but not limited to smartphones, tablets, e-book readers, MP3 players (Moving Picture Experts Group Audio Layer III), MP4 players (Moving Picture Experts Group Audio Layer IV), laptops, and desktop computers, etc.

[0059] Server 105 can be a server that provides various services, such as a backend server that supports the pages displayed on terminal devices 101, 102, and 103. The server can be a standalone server or a cloud server that provides basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communication, middleware services, domain name services, security services, content delivery networks (CDN), and big data and artificial intelligence platforms.

[0060] It should be noted that the robot scheduling method provided in this application embodiment is generally executed by a server, and correspondingly, the robot scheduling device is generally set in the server.

[0061] It should be understood that Figure 1 The number of terminal devices, networks, and servers shown is merely illustrative. Depending on implementation needs, any number of terminal devices, networks, and servers can be included.

[0062] Continue to refer to Figure 2The diagram illustrates a flowchart of an embodiment of the robot scheduling method according to this application. Embodiments of this application can acquire and process relevant data based on artificial intelligence technology. Artificial intelligence (AI) refers to the theories, methods, technologies, and application systems that utilize digital computers or machines controlled by digital computers to simulate, extend, and expand human intelligence, perceive the environment, acquire knowledge, and use that knowledge to obtain optimal results.

[0063] Foundational artificial intelligence technologies generally include sensors, dedicated AI chips, cloud computing, distributed storage, big data processing, operating / interactive systems, and mechatronics. AI software technologies mainly include computer vision, robotics, biometrics, speech processing, natural language processing, and machine learning / deep learning. The robot scheduling method described includes the following steps:

[0064] S201, Receive a task scheduling instruction, extract the task to be scheduled based on the task scheduling instruction, and obtain the task information to be scheduled, wherein the task information to be scheduled includes the estimated response time.

[0065] Specifically, the server receives the task scheduling instruction uploaded by the client, extracts the task to be scheduled based on the task scheduling instruction, and obtains the task information. The task information includes the estimated response time, which is automatically calculated and generated by the client based on the requirements of the task to be scheduled, such as the amount of data that the task to be scheduled needs to process.

[0066] In this embodiment, the robot scheduling method operates on electronic devices (e.g., Figure 1 The server shown can receive task scheduling instructions via wired or wireless connection. It should be noted that the aforementioned wireless connection methods may include, but are not limited to, 3G / 4G connections, WiFi connections, Bluetooth connections, WiMAX connections, Zigbee connections, UWB (ultra wideband) connections, and other currently known or future known wireless connection methods.

[0067] S202, Obtain robot historical scheduling information, wherein the robot historical scheduling information includes robot survival time and robot scheduling count.

[0068] Specifically, the server obtains historical scheduling information for candidate robots, including robot survival time and the number of times a robot has been scheduled. Robot survival time and the number of times a robot has been scheduled can characterize the robot's processing performance and current state to a certain extent. In a specific embodiment of this application, by fully considering the historical scheduling information of robots, the task scheduling process becomes more reasonable.

[0069] S203, calculate the robot's task scheduling weight using a preset factor analysis weighting algorithm based on the expected response time, the robot's survival time, and the number of robot scheduling attempts.

[0070] Specifically, the preset factor analysis weighting algorithm is the SPSS factor analysis weighting algorithm. Factor analysis is a data analysis technique based on correlations. It is a dimensionality reduction method built on observational data, and its main purpose is to explore a certain structure hidden behind a large amount of observational data and find common factors in the changes of a set of variables.

[0071] Specifically, the server calculates the robot's task scheduling weights using a preset SPSS factor analysis weighting algorithm based on the expected response time, robot survival time, and number of robot scheduling attempts.

[0072] S204, combine the scheduling task weights of the robot to generate the task scheduling weight sequence of the robot.

[0073] Specifically, the server generates a task scheduling weight sequence for the robots by arranging and combining the scheduling task weights of each candidate robot.

[0074] S205, the task to be scheduled is scheduled using a weighted round-robin algorithm based on the task scheduling weight sequence of the robot.

[0075] Weighted Round Robin is a special type of round-robin algorithm. Round-robin is the simplest load balancing algorithm, its principle being to distribute user requests to internal servers in a round-robin fashion: starting from server 1 and proceeding up to server N, then restarting the loop. The algorithm's advantage is its simplicity; it doesn't need to keep track of the state of all connections, making it a stateless scheduling algorithm. However, the round-robin algorithm doesn't consider the processing capacity of each server, which may not be the case in reality. Due to differences in server configuration and installed business applications, their processing capabilities will vary. Therefore, the principle of weighted round-robin is to assign different weights to each server based on its different processing capabilities, allowing it to accept a corresponding number of service requests.

[0076] Specifically, the server uses a preset weighted round-robin algorithm based on the robot's task scheduling weight sequence to determine the candidate robot with the highest matching degree to the task to be scheduled, and assigns the task to the candidate robot with the highest matching degree to complete the robot's task scheduling.

[0077] In the above embodiments, this application optimizes robot task scheduling by comprehensively considering the expected response time of the task to be scheduled, robot survival time, and number of robot scheduling attempts, making the task scheduling process more reasonable and improving the adaptability of the scheduling scheme, making it suitable for use in various robot scheduling scenarios.

[0078] Furthermore, the tasks to be scheduled and their information are stored in a directed acyclic file. The step of extracting the tasks to be scheduled based on the task scheduling instructions and obtaining the task information specifically includes:

[0079] Based on the task scheduling instruction, the corresponding directed acyclic file is obtained from the preset scheduling queue;

[0080] The directed acyclic file is parsed to obtain the task to be scheduled and its information.

[0081] A directed acyclic file (DAG) is a predefined Python file used to define a set of dependent robot job operations. A DAG contains a specific set of job tasks, each of which is a series of specific operation commands. Each DAG contains multiple Task instructions, representing a specific job within the DAG. A Task typically corresponds to a specific operation, such as forward, backward, grasp, or gripping actions performed by the robot. The DAG contains multiple Tasks, their execution dependencies, and scheduling times.

[0082] Specifically, the client generates a directed acyclic file based on the user's task requirements and stores it in a preset scheduling queue for processing. The server retrieves the corresponding directed acyclic file from the preset scheduling queue based on task scheduling instructions, parses the directed acyclic file, and obtains the task to be scheduled and its information.

[0083] Furthermore, the step of calculating the robot's task scheduling weight using a preset factor analysis weighting algorithm based on the expected response time, the robot's survival time, and the number of robot scheduling attempts specifically includes:

[0084] The dynamic weight of the robot is calculated using a preset factor analysis weighting algorithm based on the expected response time, the robot survival time, and the number of robot scheduling attempts.

[0085] The robot's initial weights are obtained, and the dynamic weights are added to the initial weights to obtain the robot's task scheduling weights.

[0086] Specifically, each robot is configured with a fixed initial weight based on its factory performance. The server obtains the robot's initial weight and adds a dynamic weight, current_weight, to it to obtain the robot's task scheduling weight, total_weight. The server calculates the robot's dynamic weight, current_weight, using a pre-defined SPSS factor analysis weighting algorithm based on the expected response time T1, the robot's survival time T2, and the number of robot scheduling attempts S.

[0087] Furthermore, the step of calculating the robot's dynamic weight using a preset factor analysis weighting algorithm based on the expected response time, the robot's survival time, and the number of robot scheduling attempts specifically includes:

[0088] Factor features are extracted from the expected response time, the robot survival time, and the number of robot scheduling attempts to obtain factor features;

[0089] The factor features are transformed into vectors to obtain factor feature vectors;

[0090] Construct a relevant component matrix based on the factor eigenvectors, and solve for the variance of the relevant component matrix;

[0091] The variance contribution rate is calculated based on the variance of the relevant component matrix, and the dynamic weights of the robot are determined based on the variance contribution rate.

[0092] Specifically, the expected response time T1, robot survival time T2, and robot scheduling count S are dimensionality-reduced to ensure they have the same dimension. Then, factor features are extracted from the dimensionality-reduced expected response time T1, robot survival time T2, and robot scheduling count S to obtain the corresponding factor features. All factor features are then transformed into vectors to obtain factor feature vectors. A relevant component matrix is ​​constructed based on the factor feature vectors, and the variance of the relevant component matrix is ​​calculated according to the standard matrix variance. The variance contribution rate is calculated based on the variance of the relevant component matrix, and the dynamic weight of the robot is determined based on the variance contribution rate.

[0093] Further, the step of constructing the relevant component matrix based on the factor eigenvectors and solving for the variance of the relevant component matrix specifically includes:

[0094] Perform factor rotation on the factor eigenvectors to obtain rotated eigenvectors;

[0095] Construct a relevant component matrix based on the rotated feature vectors;

[0096] The variance of the correlation component matrix is ​​obtained by solving for the variance of the largest orthogonal rotation factor in the correlation component matrix.

[0097] Among these methods, rotation is used to rotate factor features to better interpret the extracted factors. The most common approach is the maximum variance orthogonal rotation, which keeps the factors orthogonal while maximizing the variance differences among them, i.e., maximizing the relative sum of squared loadings.

[0098] Specifically, the server performs factor rotation on the factor eigenvectors to obtain rotated eigenvectors, constructs a correlation component matrix based on the rotated eigenvectors, and solves for the variance of the largest orthogonal rotation factor in the correlation component matrix to obtain the variance of the correlation component matrix.

[0099] Furthermore, the task to be scheduled includes several subtasks, each of which is pre-configured with a corresponding weight. The step of scheduling the task to be scheduled based on the robot's task scheduling weight sequence and using a weighted round-robin algorithm specifically includes:

[0100] Determine the robot corresponding to the maximum weight value in the task scheduling weight sequence, and assign the first subtask to the robot corresponding to the maximum weight value;

[0101] Obtain the weight of the first subtask, and adjust the task scheduling weight sequence based on the weight of the first subtask;

[0102] The robot corresponding to the maximum weight value in the task scheduling weight sequence after weight adjustment is determined in turn, and the remaining subtasks are assigned to the robot corresponding to the maximum weight value each time, until all subtasks of the task to be scheduled are assigned.

[0103] Specifically, the server determines the robot corresponding to the maximum weight value in the task scheduling weight sequence, assigns the first subtask to the robot corresponding to the maximum weight value, obtains the weight of the first subtask, adjusts the task scheduling weight sequence based on the weight of the first subtask, determines the robot corresponding to the maximum weight value in the adjusted task scheduling weight sequence in turn, and assigns the remaining subtasks to the robot corresponding to the maximum weight value each time, until all subtasks of the task to be scheduled are assigned.

[0104] In a specific embodiment of this application, the task to be scheduled includes N subtasks, where N≥2. By determining the robot corresponding to the maximum weight value in the task scheduling weight sequence, the first subtask is assigned to the robot with the maximum weight value, and the weight of the first subtask is obtained. Based on the weight of the first subtask, the task scheduling weight sequence is adjusted to obtain a first adjusted weight sequence. The weight of each subtask is predetermined by the client according to the amount of data to be processed. Then, the robot corresponding to the maximum weight value in the first adjusted weight sequence is determined, the second subtask is assigned to the robot with the maximum weight value, and the weight of the second subtask is obtained. Based on the weight of the second subtask, the first adjusted weight sequence is adjusted to obtain a second adjusted weight sequence, and so on, until all subtasks of the task to be scheduled are assigned.

[0105] Furthermore, the step of obtaining the weight of the first subtask and adjusting the task scheduling weight sequence based on the weight of the first subtask specifically includes:

[0106] Obtain the weight of the first subtask and the maximum weight value in the task scheduling weight sequence;

[0107] The adjusted weight value is obtained by subtracting the weight of the first subtask from the maximum weight value in the task scheduling weight sequence;

[0108] The maximum weight value in the task scheduling weight sequence is replaced with the adjusted weight value.

[0109] Specifically, the server obtains the weight of the first subtask and the maximum weight value in the task scheduling weight sequence. It then subtracts the weight of the first subtask from the maximum weight value in the task scheduling weight sequence to obtain the adjusted weight value, and replaces the maximum weight value in the task scheduling weight sequence with the adjusted weight value.

[0110] In the above embodiments, this application discloses a robot scheduling method, belonging to the field of robot scheduling technology. This application calculates the task scheduling weights of candidate robots by comprehensively considering the expected response time of the task to be scheduled, the robot's survival time, and the number of robot scheduling attempts, combined with a preset factor analysis weighting algorithm. Then, a task scheduling weight sequence is constructed using these candidate robot task scheduling weights. During robot task scheduling, a weighted round-robin algorithm is used to schedule the task based on the robot's task scheduling weight sequence. This application optimizes robot task scheduling by comprehensively considering the expected response time of the task to be scheduled, the robot's survival time, and the number of robot scheduling attempts, making the task scheduling process more reasonable and improving the adaptability of the scheduling scheme, making it suitable for use in various robot scheduling scenarios.

[0111] Those skilled in the art will understand that all or part of the processes in the methods of the above embodiments can be implemented by instructing related hardware with computer-readable instructions. These computer-readable instructions can be stored in a computer-readable storage medium, and when executed, they can include the processes of the embodiments of the methods described above. The aforementioned storage medium can be a non-volatile storage medium such as a magnetic disk, optical disk, or read-only memory (ROM), or random access memory (RAM).

[0112] It should be understood that although the steps in the flowcharts of the accompanying figures are shown sequentially as indicated by the arrows, these steps are not necessarily executed in the order indicated by the arrows. Unless explicitly stated herein, there is no strict order restriction on the execution of these steps, and they can be executed in other orders. Moreover, at least some steps in the flowcharts of the accompanying figures may include multiple sub-steps or multiple stages. These sub-steps or stages are not necessarily completed at the same time, but can be executed at different times, and their execution order is not necessarily sequential, but can be performed alternately or in turn with other steps or at least some of the sub-steps or stages of other steps.

[0113] Further reference Figure 3 As a response to the above Figure 2 The implementation of the method shown in this application provides an embodiment of a robot scheduling device, which is similar to... Figure 2 Corresponding to the method embodiments shown, this device can be specifically applied to various electronic devices.

[0114] like Figure 3 As shown, the robot scheduling device described in this embodiment includes:

[0115] The scheduling information acquisition module 301 is used to receive a task scheduling instruction, extract the task to be scheduled based on the task scheduling instruction, and obtain the task information to be scheduled, wherein the task information to be scheduled includes the estimated response time.

[0116] The historical information acquisition module 302 is used to acquire historical scheduling information of the robot, wherein the historical scheduling information of the robot includes robot survival time and number of robot scheduling times;

[0117] The scheduling weight calculation module 303 is used to calculate the robot's task scheduling weight based on the expected response time, the robot's survival time, and the number of robot scheduling attempts using a preset factor analysis weighting algorithm.

[0118] The weight sequence generation module 304 is used to combine the scheduling task weights of the robot to generate the task scheduling weight sequence of the robot.

[0119] The scheduling task allocation module 305 is used to schedule the task to be scheduled based on the task scheduling weight sequence of the robot using a weighted round-robin algorithm.

[0120] Furthermore, the tasks to be scheduled and their information are stored in a directed acyclic file, and the scheduling information acquisition module 301 specifically includes:

[0121] The directed acyclic file acquisition submodule is used to acquire the corresponding directed acyclic file from the preset scheduling queue based on the task scheduling instruction;

[0122] The directed acyclic file parsing submodule is used to parse the directed acyclic file to obtain the task to be scheduled and the task information to be scheduled.

[0123] Furthermore, the scheduling weight calculation module 303 specifically includes:

[0124] The dynamic weight calculation submodule is used to calculate the dynamic weight of the robot based on the expected response time, the robot survival time, and the number of robot scheduling attempts using a preset factor analysis weighting algorithm.

[0125] The scheduling weight calculation submodule is used to obtain the initial weight of the robot and accumulate the dynamic weight on the basis of the initial weight to obtain the task scheduling weight of the robot.

[0126] Furthermore, the dynamic weight calculation submodule specifically includes:

[0127] The factor feature extraction unit is used to extract factor features from the expected response time, the robot survival time, and the number of robot scheduling attempts to obtain factor features;

[0128] The feature vector transformation unit is used to transform the factor features into vectors to obtain factor feature vectors;

[0129] A component matrix construction unit is used to construct a relevant component matrix based on the factor eigenvectors and solve for the variance of the relevant component matrix;

[0130] The variance contribution rate calculation unit is used to calculate the variance contribution rate based on the variance of the relevant component matrix, and to determine the dynamic weight of the robot based on the variance contribution rate.

[0131] Furthermore, the component matrix construction unit specifically includes:

[0132] A factor rotation subunit is used to perform factor rotation on the factor feature vector to obtain a rotated feature vector;

[0133] A component matrix construction sub-unit is used to construct a relevant component matrix based on the rotated feature vector;

[0134] The matrix variance calculation subunit is used to solve for the variance of the largest orthogonal rotation factor in the correlation component matrix, and obtain the variance of the correlation component matrix.

[0135] Furthermore, the scheduling task allocation module 305 specifically includes:

[0136] The task allocation submodule is used to determine the robot corresponding to the maximum weight value in the task scheduling weight sequence, and to allocate the first subtask to the robot corresponding to the maximum weight value.

[0137] The weight sequence adjustment submodule is used to obtain the weight of the first subtask and adjust the task scheduling weight sequence based on the weight of the first subtask.

[0138] The task cyclic allocation submodule is used to sequentially determine the robot corresponding to the maximum weight value in the task scheduling weight sequence after weight adjustment, and sequentially allocate the remaining subtasks to the robot corresponding to the maximum weight value each time, until all subtasks of the task to be scheduled are allocated.

[0139] Furthermore, the weight sequence adjustment submodule specifically includes:

[0140] The weight acquisition unit is used to acquire the weight of the first subtask and the maximum weight value in the task scheduling weight sequence;

[0141] The weight adjustment calculation unit is used to subtract the weight of the first subtask from the maximum weight value in the task scheduling weight sequence to obtain the adjusted weight value;

[0142] A weight replacement unit is used to replace the maximum weight value in the task scheduling weight sequence with the adjusted weight value.

[0143] This application discloses a robot scheduling device, belonging to the field of robot scheduling technology. This application calculates the task scheduling weights of candidate robots by comprehensively considering the expected response time of the task to be scheduled, the robot's survival time, and the number of robot scheduling attempts, combined with a preset factor analysis weighting algorithm. Then, a task scheduling weight sequence is constructed using these candidate robot task scheduling weights. During robot task scheduling, a weighted round-robin algorithm is used to schedule the tasks based on this robot task scheduling weight sequence. This application optimizes robot task scheduling by comprehensively considering the expected response time of the task to be scheduled, the robot's survival time, and the number of robot scheduling attempts, making the task scheduling process more reasonable and improving the adaptability of the scheduling scheme, making it suitable for use in various robot scheduling scenarios.

[0144] To address the aforementioned technical problems, embodiments of this application also provide a computer device. Please refer to [link / reference needed]. Figure 4 , Figure 4 This is a basic structural block diagram of the computer device in this embodiment.

[0145] The computer device 4 includes a memory 41, a processor 42, and a network interface 43 that are interconnected via a system bus. It should be noted that only the computer device 4 with components 41-43 is shown in the figure; however, it should be understood that it is not required to implement all the shown components, and more or fewer components can be implemented alternatively. Those skilled in the art will understand that the computer device described here is a device capable of automatically performing numerical calculations and / or information processing according to pre-set or stored instructions, and its hardware includes, but is not limited to, microprocessors, application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), digital signal processors (DSPs), embedded devices, etc.

[0146] The computer device can be a desktop computer, laptop, handheld computer, or cloud server, etc. The computer device can interact with the user via a keyboard, mouse, remote control, touchpad, or voice control.

[0147] The memory 41 includes at least one type of readable storage medium, including flash memory, hard disk, multimedia card, card-type memory (e.g., SD or DX memory), random access memory (RAM), static random access memory (SRAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), programmable read-only memory (PROM), magnetic memory, magnetic disk, optical disk, etc. In some embodiments, the memory 41 may be an internal storage unit of the computer device 4, such as the hard disk or memory of the computer device 4. In other embodiments, the memory 41 may also be an external storage device of the computer device 4, such as a plug-in hard disk, smart media card (SMC), secure digital (SD) card, flash card, etc., equipped on the computer device 4. Of course, the memory 41 may also include both the internal storage unit and its external storage device of the computer device 4. In this embodiment, the memory 41 is typically used to store the operating system and various application software installed on the computer device 4, such as computer-readable instructions for robot scheduling methods. In addition, the memory 41 can also be used to temporarily store various types of data that have been output or will be output.

[0148] In some embodiments, the processor 42 may be a central processing unit (CPU), a controller, a microcontroller, a microprocessor, or other data processing chip. The processor 42 is typically used to control the overall operation of the computer device 4. In this embodiment, the processor 42 is used to execute computer-readable instructions stored in the memory 41 or to process data, such as executing computer-readable instructions for the robot scheduling method.

[0149] The network interface 43 may include a wireless network interface or a wired network interface, which is typically used to establish communication connections between the computer device 4 and other electronic devices.

[0150] This application discloses a computer device belonging to the field of robot scheduling technology. This application calculates the task scheduling weights of candidate robots by comprehensively considering the expected response time of the task to be scheduled, the robot's survival time, and the number of robot scheduling attempts, combined with a preset factor analysis weighting algorithm. Then, a task scheduling weight sequence is constructed using these candidate robot task scheduling weights. During robot task scheduling, a weighted round-robin algorithm is used to schedule the tasks based on this robot task scheduling weight sequence. This application optimizes robot task scheduling by comprehensively considering the expected response time of the task to be scheduled, the robot's survival time, and the number of robot scheduling attempts, making the task scheduling process more reasonable and improving the adaptability of the scheduling scheme, making it suitable for use in various robot scheduling scenarios.

[0151] This application also provides another embodiment, namely, providing a computer-readable storage medium storing computer-readable instructions that can be executed by at least one processor to cause the at least one processor to perform the steps of the robot scheduling method described above.

[0152] This application discloses a storage medium belonging to the field of robot scheduling technology. This application calculates the task scheduling weights of candidate robots by comprehensively considering the expected response time of the task to be scheduled, the robot's survival time, and the number of robot scheduling attempts, combined with a preset factor analysis weighting algorithm. Then, a task scheduling weight sequence is constructed using these candidate robot task scheduling weights. During robot task scheduling, a weighted round-robin algorithm is used to schedule the tasks based on this robot task scheduling weight sequence. This application optimizes robot task scheduling by comprehensively considering the expected response time of the task to be scheduled, the robot's survival time, and the number of robot scheduling attempts, making the task scheduling process more reasonable and improving the adaptability of the scheduling scheme, making it suitable for use in various robot scheduling scenarios.

[0153] Through the above description of the embodiments, those skilled in the art can clearly understand that the methods of the above embodiments can be implemented by means of software plus necessary general-purpose hardware platforms. Of course, they can also be implemented by hardware, but in many cases the former is a better implementation method. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, can be embodied in the form of a software product. This computer software product is stored in a storage medium (such as ROM / RAM, magnetic disk, optical disk), and includes several instructions to cause a terminal device (which may be a mobile phone, computer, server, air conditioner, or network device, etc.) to execute the methods described in the various embodiments of this application.

[0154] This application can be used in a wide variety of general-purpose or special-purpose computer system environments or configurations. Examples include: personal computers, server computers, handheld or portable devices, tablet devices, multiprocessor systems, microprocessor-based systems, set-top boxes, programmable consumer electronics, network PCs, minicomputers, mainframe computers, and distributed computing environments including any of the above systems or devices. This application can be described in the general context of computer-executable instructions executed by a computer, such as program modules. Generally, program modules include routines, programs, objects, components, data structures, etc., that perform specific tasks or implement specific abstract data types. This application can also be practiced in distributed computing environments where tasks are performed by remote processing devices connected via a communication network. In distributed computing environments, program modules can reside in local and remote computer storage media, including storage devices.

[0155] Obviously, the embodiments described above are only some embodiments of this application, not all embodiments. The accompanying drawings show preferred embodiments of this application, but do not limit the patent scope of this application. This application can be implemented in many different forms; rather, the purpose of providing these embodiments is to provide a more thorough and comprehensive understanding of the disclosure of this application. Although this application has been described in detail with reference to the foregoing embodiments, those skilled in the art can still modify the technical solutions described in the foregoing specific embodiments, or make equivalent substitutions for some of the technical features. Any equivalent structures made using the content of this application's specification and drawings, directly or indirectly applied to other related technical fields, are similarly within the scope of patent protection of this application.

Claims

1. A method of robot scheduling, characterized by, The method comprises the following steps: receiving a task scheduling instruction, extracting a task to be scheduled based on the task scheduling instruction, and obtaining task information to be scheduled, wherein the task information to be scheduled comprises a predicted response time; obtaining robot historical scheduling information, wherein the robot historical scheduling information comprises robot survival time and robot scheduling times; calculating a task scheduling weight of the robot based on the predicted response time, the robot survival time and the robot scheduling times using a preset factor analysis weight algorithm; combining the scheduling task weight of the robot to generate a task scheduling weight sequence of the robot; scheduling the task to be scheduled based on the task scheduling weight sequence of the robot using a weighted round-robin algorithm, wherein the weighted round-robin algorithm is used to determine a candidate robot with the highest matching degree for the task to be scheduled, and the task to be scheduled is assigned to the candidate robot with the highest matching degree; The step of calculating the task scheduling weight of the robot based on the predicted response time, the robot survival time and the robot scheduling times using the preset factor analysis weight algorithm comprises the following steps: calculating a dynamic weight of the robot based on the predicted response time, the robot survival time and the robot scheduling times using the preset factor analysis weight algorithm; obtaining an initial weight of the robot, and accumulating the dynamic weight based on the initial weight to obtain the task scheduling weight of the robot; The step of calculating the dynamic weight of the robot based on the predicted response time, the robot survival time and the robot scheduling times using the preset factor analysis weight algorithm comprises the following steps: performing factor feature extraction on the predicted response time, the robot survival time and the robot scheduling times to obtain a factor feature; performing vector conversion on the factor feature to obtain a factor feature vector; constructing a correlation component matrix based on the factor feature vector, and solving the variance of the correlation component matrix; calculating a variance contribution rate based on the variance of the correlation component matrix, and determining the dynamic weight of the robot according to the variance contribution rate.

2. The method of robotic dispatch of claim 1, wherein, The task to be scheduled and the task information to be scheduled are stored in a directed acyclic file, and the step of extracting the task to be scheduled based on the task scheduling instruction and obtaining the task information to be scheduled comprises the following steps: obtaining a corresponding directed acyclic file from a preset scheduling queue based on the task scheduling instruction; parsing the directed acyclic file to obtain the task to be scheduled and the task information to be scheduled.

3. The method of robotic dispatch of claim 1, wherein, The step of constructing a correlation component matrix based on the factor feature vector and solving the variance of the correlation component matrix comprises the following steps: performing factor rotation on the factor feature vector to obtain a rotated feature vector; constructing a correlation component matrix based on the rotated feature vector; solving the variance of the maximum orthogonal rotation factor in the correlation component matrix to obtain the variance of the correlation component matrix.

4. The method of robotic dispatch of any one of claims 1 to 3, wherein, The to-be-scheduled task includes a plurality of subtasks, each of which is pre-configured with a corresponding weight, and the step of scheduling the to-be-scheduled task based on the task scheduling weight sequence of the robot and using a weighted round-robin algorithm specifically includes: determining the robot corresponding to the maximum weight value in the task scheduling weight sequence, and assigning the first subtask to the robot corresponding to the maximum weight value; obtaining the weight of the first subtask and adjusting the task scheduling weight sequence based on the weight of the first subtask; determining the robot corresponding to the maximum weight value in the task scheduling weight sequence in turn after the weight adjustment, and assigning the remaining subtasks to the robot corresponding to the maximum weight value determined each time in turn until the assignment of all subtasks of the to-be-scheduled task is completed.

5. The method of robotic dispatch of claim 4, wherein, The step of obtaining the weight of the first subtask and adjusting the task scheduling weight sequence based on the weight of the first subtask specifically includes: obtaining the weight of the first subtask and the maximum weight value in the task scheduling weight sequence; obtaining an adjusted weight value by subtracting the weight of the first subtask from the maximum weight value in the task scheduling weight sequence; replacing the maximum weight value in the task scheduling weight sequence with the adjusted weight value.

6. An apparatus for robot scheduling, the apparatus comprising: The robot scheduling device implements the steps of the robot scheduling method of any one of claims 1 to 5, and the robot scheduling device includes: a scheduling information acquisition module configured to receive a task scheduling instruction, extract a to-be-scheduled task based on the task scheduling instruction, and obtain to-be-scheduled task information, wherein the to-be-scheduled task information includes an estimated response time; a historical information acquisition module configured to obtain robot historical scheduling information, wherein the robot historical scheduling information includes robot survival time and robot scheduling times; a scheduling weight calculation module configured to calculate the task scheduling weight of the robot using a preset factor analysis weight algorithm based on the estimated response time, the robot survival time, and the robot scheduling times; a weight sequence generation module configured to combine the scheduling task weight of the robot to generate the task scheduling weight sequence of the robot; a scheduling task assignment module configured to schedule the to-be-scheduled task based on the task scheduling weight sequence of the robot using a weighted round-robin algorithm.

7. A computer device, comprising: A computer readable storage medium stores computer readable instructions, and a processor executes the computer readable instructions to implement the steps of the robot scheduling method of any one of claims 1 to 5.

8. A computer-readable storage medium, characterized in that, A computer readable storage medium stores computer readable instructions, and a processor executes the computer readable instructions to implement the steps of the robot scheduling method of any one of claims 1 to 5.

Citation Information

Patent Citations

  • Polling-based data calling method and device, equipment and storage medium

    CN112130936A

  • Task scheduling processing method and device, computer equipment and storage medium

    CN112667376A

  • RPA task scheduling method and device based on AI, electronic equipment and storage medium

    CN113157409A