Humanoid robot scheduling method and device in humanoid robot training field

By constructing a load utility function and a particle fitness function, the load resources and task execution order of the humanoid robot are dynamically allocated, solving the problem of dynamic optimization of robot communication resource allocation and improving task execution efficiency and system energy consumption.

CN120560034BActive Publication Date: 2025-12-09人形机器人(上海)有限公司
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202510702603.4
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-05-28
Publication Date
2025-12-09
Estimated Expiration
2045-05-28

AI Technical Summary

Technical Problem

Existing technologies cannot optimize robot communication resource allocation based on dynamically changing communication needs and network conditions, resulting in low task execution efficiency.

Method used

By acquiring the load resource information and preset task information of the humanoid robot, a load utility function and a particle fitness function are constructed, load resources are dynamically allocated and the execution order is determined, and the particle swarm optimization algorithm is used to optimize task execution.

Benefits of technology

It enables efficient allocation of communication resources in dynamic network environments, improving task execution efficiency and overall system energy consumption.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120560034B_ABST
    Figure CN120560034B_ABST
Patent Text Reader

Abstract

Embodiments of the present application provide a humanoid robot scheduling method and device in a humanoid robot training field. The method comprises: obtaining load resource information and preset task information; determining a load utility function of a corresponding humanoid robot based on information corresponding to a load resource index of each humanoid robot, and allocating a load resource to the corresponding humanoid robot based on the load utility function; constructing a particle fitness function based on the preset task information and the allocated load resource, and determining a target execution order of the corresponding humanoid robot for performing a task corresponding to the preset task information according to the particle fitness function. The method can be applied to the fields of industrial manufacturing, logistics distribution, home service, etc., and can be used in a humanoid robot training field to train the humanoid robot to allocate resources and determine the execution order of tasks, so as to help the humanoid robot to reliably allocate resources, efficiently complete tasks in different scenarios, and determine the target execution order of the humanoid robot.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to the technical field of robots, and in particular to a humanoid robot scheduling method and device in a humanoid robot training field. BACKGROUND

[0002] Robots are increasingly widely used in home, business and other scenarios. These robots mainly face indoor environments and need to maintain stable communication in a short-distance high-density device network and cooperatively perform tasks. As robots increasingly work cooperatively in the same area, how to control the communication resources and task execution order of the robots becomes an important problem.

[0003] In some scheduling methods, load balancing of communication resource allocation is mainly achieved by static resource allocation, and then the robots are scheduled to perform corresponding tasks according to the dependencies between tasks after the communication allocation. However, this method cannot optimize the allocation of communication resources based on dynamically changing communication requirements and network conditions, and simply scheduling robots to perform tasks based on the dependencies between tasks also leads to low task completion efficiency. SUMMARY

[0004] Embodiments of the present application provide a humanoid robot scheduling method and device in a humanoid robot training field to efficiently allocate communication resources.

[0005] In a first aspect, embodiments of the present application provide a humanoid robot scheduling method in a humanoid robot training field, comprising:

[0006] Obtaining load resource information of at least one humanoid robot and preset task information of each humanoid robot, the load resource information including information corresponding to at least one load resource indicator;

[0007] Determining a load utility function of the corresponding humanoid robot based on the information corresponding to the load resource indicator of each humanoid robot, and allocating load resources to the corresponding humanoid robot based on the load utility function;

[0008] Constructing a particle fitness function based on the preset task information of each humanoid robot and the allocated load resources of each humanoid robot, and determining a target execution order of the corresponding humanoid robot to perform a task corresponding to the preset task information according to the particle fitness function of each humanoid robot.

[0009] In a possible implementation, the information corresponding to the load resource indicator includes types corresponding to each load resource indicator, and the types corresponding to the load resource indicator include: a load indicator, a battery power indicator, and a communication indicator. The load utility function is:

[0010] U i =w L ·Norm L+w E ·Norm E +w C ·Norm C

[0011] wherein Norm L is a value of the normalized load indicator, Norm E is a value of the normalized battery power indicator, Norm C is a value of the normalized communication indicator, U i represents the load utility function of the ith humanoid robot, w L , w E , w C , respectively, correspond to weights of the load indicator, the battery power indicator and the communication demand indicator.

[0012] In a possible implementation, the information corresponding to the load resource indicator further includes a value range of each load resource indicator, and the load resource is allocated to the corresponding humanoid robot based on the load utility function, including:

[0013] The values of each humanoid robot under different load resource indicators are adjusted based on a rule of maximizing the load utility function of each humanoid robot, and the adjusted values of each humanoid robot under different load resource indicators are located in the value range of the corresponding load resource indicator, and the sum of the adjusted values of each humanoid robot under different load resource indicators is less than or equal to the value threshold of the corresponding load resource indicator;

[0014] When the load utility function of each humanoid robot reaches a Nash equilibrium, the values of each load resource indicator corresponding to the load utility function of each humanoid robot are determined as the values of the load resource allocated to the corresponding humanoid robot.

[0015] In a possible implementation, the preset task information includes priority information, load resource demand information and task dependency information of the corresponding task; a particle fitness function is constructed based on the preset task information of each humanoid robot and the load resource allocated to each humanoid robot, and a target execution order of the corresponding humanoid robot for executing the task corresponding to the preset task information is determined according to the particle fitness function of each humanoid robot, including:

[0016] Each humanoid robot is mapped to a particle, and the position corresponding to each particle is used to indicate the execution order of the corresponding humanoid robot;

[0017] A load violation penalty function of the load resource demand information of each particle is established based on the load resource allocated to each particle and the load resource demand information;

[0018] constructing a particle fitness function corresponding to each particle based on the priority information, the task dependency information and the load violation penalty function corresponding to the particle;

[0019] determining a global optimal position of each particle based on the particle fitness function corresponding to the particle, and determining a target execution order of the humanoid robot corresponding to each particle based on the global optimal position.

[0020] In a possible implementation, determining the global optimal position of each particle based on the particle fitness function corresponding to the particle includes:

[0021] updating the position of the particle, and determining an individual optimal position of the corresponding particle based on the numerical value of the particle fitness function of the particle at different positions;

[0022] determining the global optimal position of each particle according to the numerical value of the particle fitness function corresponding to the individual optimal position of the particle.

[0023] In a possible implementation, the particle fitness function is:

[0024]

[0025] wherein t j is an execution time of the jth humanoid robot for executing the corresponding task, w j is a priority weight corresponding to the priority information of the jth humanoid robot, n is the number of humanoid robots, X i is a current position of the particle corresponding to the ith humanoid robot, and α and β are respectively adjustment parameters of R(X i ) and D(X i ), R(X i ) is a load violation penalty function of each humanoid robot, and D(X i ) is a dependency violation penalty function corresponding to the task dependency information.

[0026] In a second aspect, an embodiment of the present application provides a humanoid robot scheduling device in a humanoid robot training field, including:

[0027] a data acquisition module configured to acquire load resource information of at least one humanoid robot and preset task information of each humanoid robot, the load resource information including information corresponding to at least one load resource index;

[0028] a resource allocation module configured to determine a load utility function of the corresponding humanoid robot based on the information corresponding to the load resource index of each humanoid robot, and allocate a load resource to the corresponding humanoid robot based on the load utility function;

[0029] The task scheduling module is configured to construct a particle fitness function based on preset task information of each humanoid robot and load resources allocated to each humanoid robot, and determine a target execution sequence of each humanoid robot performing a task corresponding to the preset task information of the humanoid robot according to the particle fitness function of the humanoid robot.

[0030] In a third aspect, an electronic device is provided, including: a memory, a processor;

[0031] The memory stores computer execution instructions.

[0032] The processor executes the computer execution instructions stored in the memory, so that the processor executes the first aspect and / or various possible implementation manners of the first aspect.

[0033] In a fourth aspect, a computer readable storage medium is provided, and the computer readable storage medium stores computer execution instructions. When the computer execution instructions are executed by a processor, the computer execution instructions are used to implement the first aspect and / or various possible implementation manners of the first aspect.

[0034] In a fifth aspect, a computer program product is provided, including a computer program. When the computer program is executed by a processor, the computer program implements the first aspect and / or various possible implementation manners of the first aspect.

[0035] The humanoid robot scheduling method and device provided by the embodiments of the present application can determine information of each load resource index based on the load resource information of the humanoid robot, construct a load utility function of each humanoid robot based on the information of each load resource index, and allocate the load resources based on the load utility function. The allocation of the load resources can be accurately performed by referring to the information corresponding to the load resource index of the humanoid robot. After the allocation of the load resources, a particle fitness function is constructed based on preset task information of each humanoid robot. According to the particle fitness function, the execution sequence of the humanoid robot can be determined, and the task execution efficiency is improved. BRIEF DESCRIPTION OF DRAWINGS

[0036] The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the present application and serve to explain the principles of the present application together with the specification.

[0037] Figure 1 A scene schematic diagram of the humanoid robot scheduling system in the humanoid robot training field provided by the present application is shown.

[0038] Figure 2 A flowchart of the humanoid robot scheduling method in the humanoid robot training field provided by the present application is shown. Figure One

[0039] ​Figure 3 A flowchart of a humanoid robot scheduling method in a humanoid robot training field provided for the present application Figure Two ;

[0040] Figure 4 A flowchart of a humanoid robot scheduling method in a humanoid robot training field provided for the present application Figure Three ;

[0041] Figure 5 A structural diagram of a humanoid robot scheduling device in a humanoid robot training field provided for the present application

[0042] Figure 6 A structural diagram of an electronic device provided for the present application.

[0043] Through the above-mentioned drawings, the specific embodiments of the present application have been shown, and will be described in more detail hereinafter. These drawings and textual descriptions are not intended to limit the scope of the concept of the present application in any way, but to illustrate the concept of the present application to those skilled in the art by referring to specific embodiments. DETAILED DESCRIPTION

[0044] The exemplary embodiments will be described in detail hereinbelow with reference to the drawings. In the following description, the same numbers in different drawings represent the same or similar elements unless otherwise represented. The embodiments described in the following exemplary embodiments do not represent all the embodiments consistent with the present application. Rather, they are merely examples of devices and methods consistent with some aspects of the present application as detailed in the appended claims.

[0045] Robots are mainly oriented to indoor environments and need to maintain stable communication in a short-distance high-density device network. These robots not only need to interact with smart home devices and Internet of Things devices in real time, but also need to maintain efficient data transmission and fast response in complex indoor environments (such as multi-wall, multi-interference).

[0046] With the increasing number of robots working cooperatively in the same area, how to effectively allocate limited communication resources becomes an important problem. Traditional load balancing methods often rely on static resource allocation schemes and cannot be optimized according to dynamically changing communication demands and network conditions.

[0047] Based on this, the present application provides a humanoid robot scheduling method and device in a humanoid robot training field, which can accurately allocate load resources. At the same time, after the allocation of load resources, a particle fitness function is constructed according to the preset task information of each humanoid robot, so that the execution order of the humanoid robot can be determined according to the particle fitness function, and the task execution efficiency is improved.

[0048] The technical solutions of the present application and how the technical solutions of the present application solve the above technical problems will be described in detail below with specific embodiments. The following specific embodiments can be combined with each other, and the same or similar concepts or processes can not be described again in some embodiments. The embodiments of the present application will be described below with reference to the accompanying drawings.

[0049] Figure 1 A scene diagram of a humanoid robot scheduling system in a humanoid robot training field provided by the present application is shown in FIG. 1, which shows that the application scenario includes at least one humanoid robot 100 and a control module 200. Figure 1

[0050] It can be understood that Figure 1 Two humanoid robots 100 are shown in FIG. 1, and in other embodiments, there can be other numbers of humanoid robots 100, which are not specifically limited here.

[0051] In some embodiments, the humanoid robot 100 has a corresponding task, and the humanoid robot 100 performs the corresponding task.

[0052] The control module 200 can be a server or a server cluster capable of data analysis and processing, which is not specifically limited here.

[0053] In some embodiments, the humanoid robot 100 can be in communication connection with the control module 200, send information to the control module 200, and the humanoid robot 100 can receive scheduling instructions and other information from the control module 200.

[0054] In some embodiments, the application scenario can further include a communication device 300 connected to the humanoid robot 100 and connected to the control module 200, realizing communication between the humanoid robot 100 and the control module 200.

[0055] The communication device 300 can be a smart repeater (Smart Repeater) that realizes wireless forwarding, which can support beamforming for devices in the coverage area, support receiving information from the control module 200 and providing beamforming and authentication functions for the humanoid robot 100.

[0056] In some embodiments, the humanoid robot 100 and the communication device 300 maintain communication connection, exchange and coordinate the load resource information and the preset task information of the humanoid robot 100 with the load resource information and the preset task information of other humanoid robots 100.

[0057] ​The humanoid robot 100 dynamically adjusts the load resources and the task execution sequence according to the changes of the network and the environment during the execution of the task, ensures the completion of the task, and maximally reduces the overall energy consumption and the task execution time of the system.

[0058] In some embodiments, the communication device 300 is communicatively connected to the humanoid robot 100. The communication device 300 is used to transmit signals between at least two humanoid robots 100. The communication device 300 is also used to transmit signals between the humanoid robot 100 and the external network.

[0059] The communication device 300 connects at least two humanoid robots 100 and communicates with the external network. The main function of the communication device 300 is to transmit signals between the humanoid robots 100 to another humanoid robot 100, and also can relay and forward data between the humanoid robot 100 and the external network.

[0060] The communication device 300 plays the role of a communication bridge. Through the intelligent repeater, the humanoid robots 100 can communicate and cooperate with each other through a stable communication link. The humanoid robots 100 also have the function of dynamically adjusting and optimizing the communication channel, ensuring that the robots can maintain efficient and stable communication in different working environments.

[0061] It can be understood that the communication device 300 not only provides communication guarantee between robots, but also can dynamically adjust the transmission strategy of signals according to the bandwidth, delay and other external conditions of the network. Through the intelligent repeater mechanism, the system can effectively avoid signal loss, excessive delay and other problems, and ensure seamless communication between robots. At the same time, the intelligent repeater can also realize flexible communication resource management when multiple humanoid robots 100 work, ensuring that the communication quality and task execution are not affected by the network environment.

[0062] In some embodiments, the control module 200 is communicatively connected to the communication device 300, receives the load resource information and the preset task information of the humanoid robot 100 through the communication device 300, and controls the humanoid robot according to the load resource information and the preset task information.

[0063] The load resource information includes information corresponding to at least one load resource index.

[0064] The control module 200 obtains the load resource information of at least one humanoid robot 100 and the preset task information of each humanoid robot. The load resource information includes information corresponding to at least one load resource index. The load utility function of the corresponding humanoid robot is determined based on the information corresponding to the load resource index of each humanoid robot, and the load resource of the corresponding humanoid robot is allocated based on the load utility function.

[0065] The particle fitness function is constructed based on preset task information of each humanoid robot and load resources allocated to each humanoid robot, and a target execution sequence of corresponding tasks of the preset task information performed by each humanoid robot is determined according to the particle fitness function of each humanoid robot.

[0066] In some embodiments, the control module 200 can include a load scheduling module 201 and a cooperation scheduling module 202, the load scheduling module 201 and the cooperation scheduling module 202 are communicatively connected, the load scheduling module 201 allocates load resources to each humanoid robot, and the cooperation scheduling module 202 constructs a particle fitness function based on preset task information of each humanoid robot and load resources allocated to each humanoid robot, and determines a target execution sequence of corresponding tasks of the preset task information performed by each humanoid robot according to the particle fitness function of each humanoid robot.

[0067] Figure 2 Flowchart of a humanoid robot scheduling method in a humanoid robot training field provided in the present application Figure One As shown in Figure 2 , the method can be executed in the control module 200 as shown in Figure 1 , and the method includes the following steps.

[0068] S201, obtaining load resource information of at least one humanoid robot and preset task information of each humanoid robot, the load resource information including information corresponding to at least one load resource indicator.

[0069] In some embodiments, the humanoid robot can be a robot, such as a body-possessed intelligent robot, which is not specifically limited here.

[0070] The load resource information and the preset task information can be sent to the control module 200 through the communication device 300.

[0071] In some embodiments, the load resource information includes information of at least one load resource indicator, the information corresponding to the load resource indicator includes a type corresponding to each load resource indicator, and the load resource includes at least one load resource indicator, and the type of the load resource indicator can be a resource such as calculation, storage, bandwidth, etc. of the humanoid robot when performing a task, such as in an embodiment, the type of the load resource indicator can include a load indicator, a battery power indicator, and a communication indicator.

[0072] The load indicator is a resource required for related calculation, which is usually determined by the amount of data processed by the humanoid robot or the algorithm run by the humanoid robot, and the load indicator can usually be represented by information such as the usage rate of the central processing unit (English: Central Processing Unit, abbreviated: CPU) and the graphics processing unit (English: Graphics Processing Unit, abbreviated: GPU) and the memory occupancy.

[0073] The battery power indicator reflects the endurance capability of the humanoid robot, and when the battery power is low, the communication and computing capability of the humanoid robot can be limited, and the use time needs to be prolonged by optimizing the resource allocation. The communication indicator information relates to the demand of the humanoid robot for network resources (such as bandwidth).

[0074] The preset task information of the humanoid robot includes execution time, priority information, resource demand information, and task dependency information of the task performed by the corresponding humanoid robot, and is not specifically limited here.

[0075] S202, determining the load utility function of the corresponding humanoid robot based on the information corresponding to the load resource indicator of each humanoid robot, and allocating load resources to the corresponding humanoid robot based on the load utility function.

[0076] In some embodiments, different load resource indicators can be quantified by normalizing the values of the load resource indicators.

[0077] In some embodiments, the performance of the load resource indicator is measured by a value, for example, the value corresponding to the battery power indicator is 80, and the values of each load resource indicator can be normalized according to the normalization method and the maximum value to obtain a parameter between 0 and 1. The parameter obtained by the normalization process can be used to calculate the load utility function.

[0078] In some embodiments, the information corresponding to the load resource indicator includes the value range of each load resource indicator, which represents the maximum and minimum values of the load resource indicator corresponding to each humanoid robot, i.e. when allocating load resources to each humanoid robot, the value of the load resource indicator of the humanoid robot needs to be within the value range of the corresponding load resource indicator.

[0079] The value range corresponding to the same load resource indicator of each humanoid robot can be the same or different, and the value range corresponding to different load resource indicators of the same humanoid robot can be the same or different.

[0080] The value range of different load resource indicators of the humanoid robot can be pre-set by an empirical parameter. For a humanoid robot, the value range of each load resource indicator can be determined according to the actual demand of the humanoid robot, for example, a humanoid robot has a higher demand for a certain load resource indicator when performing a task, and the value of the corresponding load resource indicator corresponding to the value range can be larger, and a humanoid robot has a lower demand for a certain load resource indicator when performing a task, and the value of the corresponding load resource indicator corresponding to the value range can be smaller.

[0081] In some embodiments, after the load resource information is determined, the value size of each humanoid robot that can be allocated under different load resource indicators can be determined, and thus a load utility function is constructed according to the load resource indicators, and the load resource is allocated to each humanoid robot through the load utility function.

[0082] It can be understood that allocating the load resource to the humanoid robot is actually to determine the value size of each humanoid robot that can be allocated under different load resource indicators.

[0083] The load utility function is used to measure the utility of the corresponding humanoid robot under different load resource allocations, and is constructed through each load resource indicator. Different values of each humanoid robot under different load resource indicators are allocated, that is, different load resource allocation schemes are allocated to each humanoid robot. The values of the load resource allocation scheme corresponding to each load resource indicator are substituted into the load utility function, and the obtained value is the utility of the different load resource allocation scheme. It can be understood that the larger the value calculated by the load utility function, the better the utility of the corresponding load resource allocation scheme, but the values of each load resource indicator in the load resource allocation scheme need to be within the value range of the load resource indicator of the corresponding humanoid robot.

[0084] In some embodiments, based on the load utility function of each humanoid robot, a resource allocation game model is constructed, and thus the value of the load resource indicator that each humanoid robot can allocate under Nash equilibrium is obtained.

[0085] In some embodiments, based on the rule of maximizing the load utility function of each humanoid robot, the values of each humanoid robot under different load resource indicators are adjusted. The values of each humanoid robot under different load resource indicators are within the value range of the corresponding load resource indicator, and the sum of the values of each humanoid robot under different load resource indicators is less than or equal to the value threshold of the corresponding load resource indicator. When the load utility function of each humanoid robot reaches Nash equilibrium, the values of each load resource indicator corresponding to the load utility function of each humanoid robot are determined as the values of the load resource allocated to the corresponding humanoid robot.

[0086] S203, constructing a particle fitness function based on the preset task information of each humanoid robot and the load resource allocated to each humanoid robot, and determining the target execution order of each humanoid robot in executing the task corresponding to the preset task information according to the particle fitness function of each humanoid robot.

[0087] In some embodiments, after the load resource of the humanoid robot is allocated, the execution order of the humanoid robot in executing the corresponding task can be determined.

[0088] In some embodiments, the execution order of the tasks of the humanoid robots can be abstracted as a particle optimization problem, and a particle fitness function is constructed to determine the target execution order of each scheduling device.

[0089] In some embodiments, the preset task information includes priority information, resource requirement information, and task dependency information of the corresponding tasks.

[0090] In some embodiments, the particle fitness function is constructed according to the preset task information, the communication resources allocated to each humanoid robot, and the preset task information, the particle fitness function representing the total task execution time of the multiple humanoid robots at different positions of the particles, the particle fitness function being used as a target function by a particle swarm optimization algorithm to minimize the target function, thereby determining the global optimal position of each particle, and the target execution order of the corresponding humanoid robot to perform the tasks corresponding to the preset task information being determined according to the global optimal position of the particle.

[0091] In some embodiments, a corresponding load violation penalty function can be constructed according to the load resource information, and a corresponding dependency violation penalty function can be constructed according to the task dependency information, and the particle fitness function is constructed by the two violation penalty functions.

[0092] The load violation penalty function represents that the load resources required by the multiple humanoid robots to jointly perform tasks at a certain moment cannot exceed the sum of the load resources allocated to the multiple humanoid robots, and the corresponding load violation penalty function of each particle can be established according to the load resources allocated to each particle and the load resource requirement information of each particle.

[0093] The dependency violation penalty function corresponding to the task dependency information represents that the execution order of the tasks of the multiple humanoid robots cannot violate the dependency relationship between the tasks, and the dependency relationship between the tasks is obtained according to the task dependency information.

[0094] Each humanoid robot is mapped to a particle, and the position corresponding to each particle is used to indicate the execution order of the corresponding humanoid robot; the load violation penalty function of the load resource requirement information of each particle is established based on the load resources allocated to each particle and the load resource requirement information, the particle fitness function of each particle is constructed based on the priority information, the task dependency information, and the load violation penalty function corresponding to each particle, the global optimal position of each particle is determined based on the particle fitness function corresponding to each particle, and the target execution order of the humanoid robot corresponding to each particle is determined based on the global optimal position.

[0095] The humanoid robot scheduling method in the humanoid robot training field provided by the embodiment of the present application determines the information of each load resource index under the load resource information of the humanoid robot, constructs the load utility function of each humanoid robot based on the information of each load resource index, and allocates the load resource through the load utility function. The allocation of the communication resource can be accurately performed by referring to the information corresponding to the load resource index of the humanoid robot. Meanwhile, after the allocation of the load resource, the particle fitness function is constructed through the preset task information of each humanoid robot. Therefore, the execution order of the humanoid robot can be determined according to the particle fitness function, and the task execution efficiency is improved.

[0096] Meanwhile, the humanoid robot scheduling method in the humanoid robot training field can be applied to the humanoid robot training field. The training of each humanoid robot in the humanoid robot training field is completed through the humanoid robot scheduling method in the humanoid robot training field. The resource allocation between each humanoid robot in the humanoid robot training field can be performed through the humanoid robot scheduling method in the humanoid robot training field, and the target execution order of the task between each humanoid robot in the humanoid robot training field is obtained. The target execution order is used to control each humanoid robot in the humanoid robot training field to execute the task in turn. Therefore, the training of each humanoid robot in the humanoid robot training field in different work scenarios and different task scenarios is facilitated. After the training, each humanoid robot in the humanoid robot training field can perform the resource allocation in different work scenarios and the execution order control of different task execution through the humanoid robot scheduling method in the humanoid robot training field. The reliability of the resource allocation of the humanoid robot and the efficiency of the task execution are improved.

[0097] The humanoid robot scheduling method in the humanoid robot training field can be adapted to different fields. For example, it can be applied to the industrial manufacturing field. When completing tasks such as welding, carrying, and assembly, the resource allocation of the humanoid robot and the order allocation of the task execution of the humanoid robot are performed through the humanoid robot scheduling method in the humanoid robot training field, that is, the target execution order of the humanoid robot to execute the task is determined. It can also be applied to the field of home service. When completing tasks such as cooking and cleaning, the resource allocation of the humanoid robot and the order allocation of the task execution of the humanoid robot are performed through the humanoid robot scheduling method in the humanoid robot training field. It can also be applied in the field of logistics distribution, which is not described here.

[0098] Figure 3 The flowchart of the humanoid robot scheduling method in the humanoid robot training field provided by the present application Figure Two As shown in Figure 3 , the embodiment is based on Figure 2 The embodiment is based on

[0099] S301, based on a rule of maximizing a load utility function of each humanoid robot, adjusting the value of each humanoid robot under different load resource indicators.

[0100] In some embodiments, the load utility function is:

[0101] U i = w L · Norm L + w E · Norm E + w C · Norm C

[0102] wherein Norm L is the value of the normalized load indicator, Norm E is the value of the normalized battery power indicator, Norm C is the value of the normalized communication indicator, U i denotes the load utility function of the i-th humanoid robot, w L , w E , w C correspond to the weights of the load indicator, the battery power indicator and the communication demand indicator, respectively.

[0103] In some embodiments, each humanoid robot has a corresponding value range for each load resource indicator, such as a corresponding value range for the load indicator, a corresponding value range for the battery power indicator, and a corresponding value range for the communication indicator, which is used to limit the value that can be allocated to the corresponding load resource indicator of the load resource device.

[0104] According to the value range of the load resource indicator, the value of the load resource indicator is adjusted, that is, different load resource allocation schemes are obtained. It can be understood that the load resource allocation scheme of each humanoid robot includes the corresponding value of each load resource indicator, and the corresponding value of each load resource indicator should be within the value range of the load resource indicator of the corresponding humanoid robot. In addition, for the global humanoid robot, the sum of the values of a certain load resource indicator in the resource allocation scheme should be less than or equal to the value threshold of the load resource indicator.

[0105] For different load resource indicators, there is a corresponding value threshold, which is used to indicate the maximum value that the corresponding load resource indicator can be allocated to different humanoid robots. Therefore, the sum of the values of the load resource indicators allocated by each humanoid robot should be less than or equal to the value threshold of the load resource indicator.

[0106] As in an embodiment, for a humanoid robot a, the load indicator of the humanoid robot a has a corresponding value range (a1, a2), the battery power indicator has a corresponding value range (a3, a4), the communication indicator has a corresponding value range (a5, a6), and a resource load allocation scheme of the humanoid robot a has a value a7 of the load indicator, a value a8 of the battery power indicator, and a value a9 of the communication indicator.

[0107] Then a7 is greater than a1 and less than a2, a8 is greater than a3 and less than a4, and a9 is greater than a5 and less than a6.

[0108] For example, in addition to the humanoid robot a, if and only if there is a humanoid robot b, according to the allocation manner of the load resource allocation scheme of the humanoid robot a, a resource allocation scheme of the humanoid robot b has a value b7 of the load indicator, a value b8 of the battery power indicator, and a value b9 of the communication indicator.

[0109] And in the scenario where the humanoid robot a and the humanoid robot b exist, the value threshold of the load indicator is c1, the value threshold of the battery power indicator is c2, and the value threshold of the communication indicator is c3, then a7 plus b7 is less than or equal to c1, a8 plus b8 is less than or equal to c2, and a9 plus b9 is less than or equal to c3.

[0110] In the above manner, each humanoid robot can have multiple load resource allocation schemes, and through the load resource allocation scheme, the values of each humanoid robot under different load resource indicators can be substituted into the load utility function to obtain the value of the load utility function.

[0111] It can be understood that for a humanoid robot, the adjustment of the values of each load resource indicator in the load utility function is in the direction of maximizing the load utility function of each humanoid robot.

[0112] As in an embodiment, the load resource indicators of the humanoid robots are updated, and the value of the load utility function before the update is less than the value of the load utility function after the update. It can be understood that, due to the existence of a numerical threshold of all the humanoid robots under different load resource indicators, the value of the load resource indicator of one humanoid robot becomes larger, and the value of the load resource indicator of another humanoid robot or another humanoid robots becomes smaller. All the humanoid robots change the values of the different load resource indicators, and change the values of the different load resource indicators based on the direction of maximizing the load utility function of each humanoid robot. The process can be a game process, and the game process can be a non-cooperative game. Each humanoid robot seeks its own maximum initial load demand value until a Nash equilibrium is reached. In this game, the Nash equilibrium state of the game is that the load resource allocation among all the humanoid robots reaches a stable state, that is, no humanoid robot can obtain a better value of the load utility function by unilaterally changing the value of its own load resource indicator.

[0113] In some embodiments, the game simulates the interaction among each humanoid robot to determine the optimal load resource allocation scheme for each humanoid robot. The game model finally provides a load resource allocation scheme under which the load resources of all the humanoid robots reach an optimal state, thereby avoiding waste of load resources and communication conflicts.

[0114] According to the Nash equilibrium principle in the game theory model, dynamic and centralized control-free resource allocation can be achieved. Each humanoid robot selects resources according to its own needs and network conditions, and the whole group of humanoid robots converges to an optimal load resource allocation scheme, ensuring that each humanoid robot can obtain reasonable communication resources and the execution efficiency of the task will not be affected due to network congestion or resource contention.

[0115] In some embodiments, in each round of iteration to update the values of the load resource indicators in the load utility function, the load resource selection is optimized according to the maximization of the value of the load utility function. The iteration ends when all the humanoid robots reach a Nash equilibrium, that is, each humanoid robot cannot obtain a better utility by changing the load strategy alone. This iteration process ensures that the group of humanoid robots gradually tends to an optimal communication resource allocation scheme, avoiding the inefficiency or conflicts that may be caused by static resource allocation.

[0116] In some embodiments, the value of the load utility function is used to measure the "benefit" of a humanoid robot under the value of the corresponding load resource indicator. By setting reasonable values of the load resource indicators, the allocation of load resources can be optimized according to the values of the load resource indicators of the humanoid robots, so that each humanoid robot can obtain the highest possible utility under the condition of limited load resources.

[0117] Because the dimensions of the values of different load resource indicators are different, the values of the load resource indicators are normalized so that they can be in the same range (i.e., [0, 1]).

[0118] If the load indicator includes the maximum value of the load indicator for the humanoid robot and the value of the load indicator, the normalized value of the load indicator is:

[0119]

[0120] where L max is the maximum value of the load indicator for the humanoid robot, L i is the value of the load indicator for the humanoid robot i.

[0121] The information of the battery power indicator includes the maximum value of the battery power indicator for the humanoid robot and the value of the battery power indicator, and the normalized value of the battery power indicator is:

[0122]

[0123] where E max is the maximum value of the battery power indicator for the humanoid robot, E i is the value of the battery power indicator.

[0124] The information of the communication demand indicator includes the maximum value of the communication demand indicator (e.g., the maximum value of bandwidth) and the value of the communication demand indicator, and the normalized value of the communication demand indicator is:

[0125]

[0126] where C max is the maximum value of the communication demand indicator for the humanoid robot, C i is the value of the communication demand indicator.

[0127] After obtaining the normalized values of the values of each load resource indicator, different weights are assigned to the information corresponding to different load resource indicators according to the actual requirements of the task. These weights represent the contribution of each load resource to the final utility.

[0128] The weights are usually set according to the load resource demand information and priority information of the humanoid robot. For example, some tasks may be more sensitive to communication, so a greater weight is assigned to the communication indicator information.

[0129] The construction process of the utility function is described below with an exemplary embodiment.

[0130] Suppose there is a humanoid robot whose current state is as follows:

[0131] the value of the load indicator is 70% (i.e. L i = 0.7).

[0132] the value of the battery power indicator is 40% (i.e. E i = 0.4).

[0133] the value of the communication indicator is 50% (i.e. C i = 0.5).

[0134] the weights of the load indicator, the battery power indicator and the communication indicator required by the humanoid robot are respectively: w L = 0.4, w E = 0.3, w C = 0.3.

[0135] the maximum value of the load indicator is set as L max = 1, then Norm L = 0.3, the maximum value of the battery power indicator is set as E max = 1, then Norm E = 0.4, the maximum value of the communication indicator is set as C max = 1, then Norm C = 0.5, then the value of the load utility function of the humanoid robot is 0.4*0.3+0.3*0.4+0.3*0.5 = 0.39.

[0136] 0.39 represents the "benefit" of the humanoid robot under the current load resource allocation scheme. If there are multiple humanoid robots, by comparing the values of their load utility functions, the load resource allocation scheme can be optimized, i.e. the direction of maximizing the value of the load utility function.

[0137] It can be understood that the construction and use of the load utility function is the core link in the load resource allocation, which unifies the measurement of multiple load resource indicators, so that each humanoid robot can maximize the "benefit" according to its own needs under the condition of limited communication resources. Through such an optimization strategy, the efficiency of the whole system can be improved, and each humanoid robot can achieve the optimal state in task execution.

[0138] The above game process can be represented as:

[0139]

[0140] wherein, is the load resource allocation scheme of the humanoid robot i, The load resource allocation scheme of the other humanoid robots needs to satisfy: the values of the different load resource indicators of each humanoid robot are within the value range of the corresponding load resource indicator, and the sum of the values of the different load resource indicators of each humanoid robot is less than or equal to the value threshold of the corresponding load resource indicator. represents that the maximization of the load utility function of the humanoid robot i is guaranteed for all possible load resource allocation schemes.

[0141] Therefore, each humanoid robot in the game will try to find an optimal load resource allocation scheme in all possible load resource allocation schemes, so that its utility function is maximized under the given load resource allocation scheme of other humanoid robots, and a Nash equilibrium is reached.

[0142] In some embodiments, during the updating process of the values of the load resource indicators of each humanoid robot, the real-time load resource demand of each humanoid robot is also considered, and dynamic adjustment is also made according to historical communication resource data and the like. For example, if the battery power of a certain humanoid robot is low or the communication is too high, the direction of updating the values of the load resource indicators of each humanoid robot is also to preferentially allocate more communication resources (larger values of the communication indicator) or more battery power resources (larger values of the battery power indicator) to this humanoid robot, to ensure that it can continue to work normally, while other robots with lighter communication demand may obtain less communication resources, so as to ensure the stable operation between each scheduling device, and reduce the risk of communication conflict and collapse when the network condition is unstable or the load demand of the humanoid robot is too heavy.

[0143] S302, when the load utility function of each humanoid robot reaches a Nash equilibrium, the values of the different load resource indicators corresponding to the load utility function of each humanoid robot are determined as the values of the load resources allocated to the corresponding humanoid robot.

[0144] In some embodiments, based on the rule of maximizing the load utility function of each humanoid robot, during the process of adjusting the values of the different load resource indicators of each humanoid robot, when the load utility function of each humanoid robot reaches a Nash equilibrium, the values of the different load resource indicators of each humanoid robot are not adjusted, and the values of the load resource indicators of each humanoid robot reaching the Nash equilibrium can be determined. The values of the load resource indicators of each humanoid robot reaching the Nash equilibrium are the values of the different load resource indicators in the load resources allocated to the corresponding humanoid robot, so as to realize the allocation of the load resources of the humanoid robot.

[0145] It can be understood that the value of the load resource index finally allocated to each humanoid robot is also within the value range of the corresponding load resource index of the corresponding humanoid robot, and the sum of the values of the load resource indexes of all humanoid robots is less than or equal to the value threshold of the corresponding load resource index.

[0146] Figure 4 Flowchart of the humanoid robot scheduling method in the humanoid robot training field provided in the present application Figure Three As shown in the flowchart of the humanoid robot scheduling method in the humanoid robot training field provided in the present application Figure 4 The embodiment of the present application is based on the embodiment Figure 2 The step S203 is described in detail, and the method comprises:

[0147] S401, mapping each humanoid robot as a particle, and the position corresponding to each particle is used to indicate the execution order of the corresponding humanoid robot.

[0148] In some embodiments, the target execution order of the corresponding task of each humanoid robot can be determined based on a particle swarm optimization algorithm.

[0149] The preset task information comprises priority information, resource demand information and task dependency information of the corresponding task.

[0150] In some embodiments, the priority information can be determined according to the current state of the load resource of the corresponding humanoid robot. For example, when the load resource of the humanoid robot is low, the priority of the corresponding task of the scheduling device can be reduced, or a request for load resource allocation can be sent to re-allocate the load resource. However, the priority information needs to ensure that the task dependency information of the corresponding task is correct, that is, no matter how the priority of the task is adjusted, the task dependency between tasks needs to be correct.

[0151] The task dependency information represents the task dependency between tasks, that is, the necessary execution order between multiple tasks. For example, there are task A and task B, and task A must be executed before task B. The information that task A must be executed before task B is the task dependency information of task A and task B. For another example, task T2 may depend on the output result of task T1 to continue execution, and task T1 needs to be executed before task T2.

[0152] The load resource demand information represents the load resource required by the humanoid robot to implement the corresponding task. When the resource demand information is greater than the communication resource required by the corresponding humanoid robot, it means that the current communication resource of the humanoid robot cannot normally complete the task, and the task allocation needs to be re-performed. At this time, the priority of the task of the humanoid robot can be adjusted.

[0153] In some embodiments, each humanoid robot is mapped as a particle, and the position corresponding to each particle is used to indicate the execution order of the corresponding humanoid robot. By simulating the movement of the particles, the position corresponding to each particle is determined, thereby obtaining the target execution order of the humanoid robot corresponding to the particle.

[0154] In some embodiments, the objective of the PSO algorithm is to minimize the total execution time and resource waste of each humanoid robot task, ensure that each task can be completed at the most appropriate time, and improve the collaborative efficiency between tasks.

[0155] In other embodiments, before each humanoid robot is mapped as a particle, the humanoid robots that need to be coordinated can also be screened from the plurality of humanoid robots. For example, if the task performed by a humanoid robot is irrelevant to other tasks, the target execution order of the humanoid robot does not need to be determined, and the task of the humanoid robot can be directly executed. If the task performed by a humanoid robot is related to other humanoid robots, i.e., the plurality of humanoid robots need to coordinate to perform the task, for example, the tasks performed by the plurality of humanoid robots are allocated to each scheduling device by splitting a large task, then the plurality of humanoid robots are related to the task and need to coordinate to perform the task. At this time, the humanoid robots that need to coordinate to perform the task can be mapped as a particle, and the PSO algorithm is performed to determine the target execution order of the corresponding humanoid robot.

[0156] For example, in some embodiments, there are 10 humanoid robots, of which 8 humanoid robots have related tasks, and 2 humanoid robots have independent tasks. The 8 humanoid robots with related tasks are abstracted as particles, and the corresponding target execution order is determined.

[0157] S402, based on the load resource and load resource demand information allocated to each particle, a load resource demand information load violation penalty function of the corresponding particle is established.

[0158] In some embodiments, the task performed by each humanoid robot includes load resource demand information, i.e., the information corresponding to the load resource required by the humanoid robot to perform the corresponding task. It can include the required values of each load resource index, such as the load required value of the load index, the battery power required value of the battery power index, and the communication required value of the communication index.

[0159] Under different target execution sequences, one or more humanoid robots can execute tasks at the same time at a certain time, and the sum of the load resources allocated to the one or more humanoid robots executing the tasks should be greater than the sum of the load resources corresponding to the load resource demand information corresponding to the tasks executed by the one or more humanoid robots. If the condition is violated, a positive value will be generated by the load violation penalty function corresponding to the load resource demand information. The function of the load violation penalty function corresponding to the load resource demand information is to prevent the required load resources of the tasks from exceeding the upper limit of the load resources that can be provided by the corresponding humanoid robots. In the particle fitness function, the load violation penalty function corresponding to the load resource demand information is used to determine whether the upper limit of the load resources is exceeded by aggregating the load resource demand information of all tasks at the same time. That is, when m humanoid robots execute tasks at the same time at a certain time, the load resource demand information corresponding to the tasks of the m humanoid robots is aggregated, and the load resource information allocated to the m humanoid robots is aggregated. When the communication resources required by the load resource demand information corresponding to the tasks of the m humanoid robots exceed the load resources allocated to the m humanoid robots, a positive value will be generated by the load violation penalty function corresponding to the load resource demand information, indicating that the resource constraint is violated. Otherwise, a zero value will be generated by the load violation penalty function corresponding to the load resource demand information.

[0160] It can be understood that the value corresponding to the load violation penalty function corresponding to the load resource demand information is different when the particles are located at different positions. When the positions of the particles are determined, that is, the target execution sequence corresponding to the particles is determined, if the value of the load violation penalty function corresponding to the load resource demand information at a certain time is positive, the value of the load violation penalty function corresponding to the load resource demand information in the particle fitness function of the determined target execution sequence corresponding to the particles is positive. If the value of the load violation penalty function corresponding to the load resource demand information at all times is zero for a determined target execution sequence corresponding to the particles, the value of the load violation penalty function corresponding to the load resource demand information in the particle fitness function of the determined target execution sequence corresponding to the particles is zero, indicating that the load resource constraint is not violated under the determined target execution sequence corresponding to the particles.

[0161] For an execution sequence, the position of each humanoid robot in the execution sequence can be determined, that is, the position of the particle corresponding to the humanoid robot can be determined. In this way, the load violation penalty function when the current position of the particle corresponding to the i-th humanoid robot is X i .

[0162] When the current position of the particle corresponding to the i-th humanoid robot is X i , the positions of other particles can also be determined. In this way, the load violation penalty function when the current position of the particle corresponding to the i-th humanoid robot is X i .

[0163] In some embodiments, the load violation penalty function can be expressed as:

[0164]

[0165] Where k is a positive number, and M is the current position of the particle corresponding to the i-th humanoid robot, denoted as X. i At any given moment, N represents the sum of the load resources of the humanoid robots processing tasks simultaneously, where N represents the current position of the particle corresponding to the i-th humanoid robot, which is X. i At any given moment, the sum of the load resource requirements of the humanoid robots processing tasks simultaneously.

[0166] Understandably, load resources include load metrics, battery power metrics, and communication metrics. When determining the load violation penalty function, the violation conditions should be determined separately for each load resource metric. For example, if the sum of the load metrics values ​​of multiple humanoid robots performing tasks at the same time is greater than the sum of their load requirements, the sum of their battery power metrics values ​​is greater than the sum of their battery power requirements, and the sum of their communication metrics values ​​is greater than the sum of their communication requirements, then the load violation function is 0. If the sum of any load resource metric value is less than the sum of the corresponding load resource metric requirements, then the load violation penalty function will produce a positive value.

[0167] S403. Construct the corresponding particle fitness function based on the priority information, task dependency information and load violation penalty function of each particle.

[0168] In some embodiments, the particle fitness function is:

[0169]

[0170] Among them, t j The execution time and w for the j-th humanoid robot to perform the corresponding task j Let X be the priority weight corresponding to the priority information of the j-th humanoid robot, n be the number of humanoid robots, and X be the priority weight. i Let α be the current position of the particle, and β be R(X). i ), D(X i The adjustment parameters of R(X) are such that the sum of α and β is 1. These parameters can be set based on empirical parameters. For example, in one embodiment, α = 0.5 and β = 0.5. iWhen the requirements for R(X) are relatively high, the value of α can be increased accordingly; conversely, when the interdependence between tasks is emphasized, the value of β can be increased accordingly. i D(X) is the load violation penalty function corresponding to the load resource demand information. i ) is the dependency violation penalty function corresponding to the task dependency information.

[0171] R(X i The higher the value of the load violation penalty function, the larger the value of the particle fitness function, indicating that the current task execution order is unreasonable. The algorithm will iteratively adjust the particle positions to reduce violations, making R(X) = ... i The value is 0.

[0172] D(X i ) indicates that if any task violates a task dependency, then D(X) i A positive value will be generated if, for example, task A must be completed before task B, but in the actual execution order, task A is executed before or simultaneously with task B, then a positive penalty term will be generated, indicating that the task dependency relationship has been violated. When the execution order between tasks is the same as the task dependency relationship in the corresponding task dependency information, then D(X) will be positive. i Similarly, the algorithm will iteratively adjust the particle positions to reduce violations, making D(X) = 0. i The value is 0, thus minimizing the particle fitness function.

[0173] In some embodiments, D(X) i This can be represented as:

[0174]

[0175] Where L is a positive number, and X is the current position of the particle corresponding to the i-th humanoid robot. i When the execution order corresponding to the positions of all particles does not conform to the dependency information between the humanoid robots, then D(X) i The value of ) is L, and the current position of the particle corresponding to the i-th humanoid robot is X. i When the execution order corresponding to the positions of all particles conforms to the dependency information between the humanoid robots, then D(X) i The value of ) is 0.

[0176] S404. Determine the global optimal position of each particle based on the particle fitness function corresponding to each particle, and determine the target execution order of the humanoid robot corresponding to each particle based on the global optimal position.

[0177] In some embodiments, the values ​​of the particle fitness function corresponding to each particle are used to comprehensively evaluate the effectiveness of each task under different execution orders.

[0178] The objective of the particle fitness function is to minimize the total task completion time, especially considering the priority and dependency of tasks. In PSO, the fitness function of a particle is used to evaluate the quality of the task execution order X i Minimizing the fitness function is equivalent to optimizing the task completion time and overall system efficiency.

[0179] In some embodiments, the position of the particle is updated, i.e., the execution order of the corresponding humanoid robot is changed.

[0180] It can be understood that the target execution order not only includes the execution order of each task, but also indicates the execution time between tasks, such as there are 3 humanoid robots, each corresponding to a task, respectively A, B and C tasks, and the corresponding target execution order obtained is A, B, C, which also includes executing B task at a certain time after executing A task, and executing C task at a certain time after executing B task. The target execution order can also represent the time distribution between tasks.

[0181] In some embodiments, the position of the particle is updated, and based on the numerical value of the particle fitness function of each particle at different positions, the individual optimal position of the corresponding particle is determined; according to the numerical value of the particle fitness function corresponding to the individual optimal position of each particle, the global optimal position of each particle is determined.

[0182] Through the parallel search capability of the particle swarm, the optimal solution of multi-task scheduling is quickly explored. The particle updates its position through continuous iteration, and finally finds the global optimal solution of the task scheduling order. This method not only improves the efficiency of task execution, but also optimizes the allocation of resources in multi-robot cooperative work, reduces the conflict and waiting time in task execution.

[0183] It can be understood that the objective of the particle fitness function is to minimize the task completion time of the entire system by balancing the task priority, resource consumption and task dependency. Through the evaluation of the fitness of each particle, the system can guide the particle swarm to move towards the optimal task scheduling order, ensuring efficient execution of tasks.

[0184] It can be understood that in each iteration, a particle can obtain a determination of an individual optimal position of an individual, which is determined by comparing the values of the particle fitness function of the particles in different positions, that is, the individual optimal position of a particle corresponds to the value of the particle fitness function of the particle when the particle is in the individual optimal position, and the value of the particle fitness function needs to be determined by the positions of all particles and calculated by the particle fitness function. In this way, the individual optimal position of a particle corresponds to the value of the particle fitness function, and also corresponds to the positions of all particles for which the value of the particle fitness function is obtained. The positions of the particles correspond to the execution sequence of the humanoid robot. In this way, the individual optimal position of a particle corresponds to the positions of all particles, and also corresponds to the execution sequence of the humanoid robot.

[0185] And the global optimal position is a position determined among all individual optimal positions of particles, that is, the individual optimal position corresponding to the minimum particle fitness function of all individual optimal positions is the global optimal position, that is, the global optimal position also has a value of the particle fitness function, and also has the positions of all particles for which the value of the particle fitness function is calculated, that is, it can correspond to the execution sequence of the humanoid robot. Thus, by constantly updating the positions of the particles until convergence, the execution sequence of the humanoid robot corresponding to the global optimal position obtained by convergence is determined as the target execution sequence.

[0186] As in an embodiment, there are 3 humanoid robots, corresponding to 3 particles, in an update of the positions of the 3 particles, the positions of the 3 particles after this update can be obtained, and the values of the particle fitness function of different particles at different positions are calculated through the positions of the 3 particles, for a particle, if the value of the particle fitness function calculated at the position after this update is less than the value of the particle fitness function in the last update process, then the position of the particle after this update is the individual optimal position of the particle, and the individual optimal position corresponds to the value of the particle fitness function after this update, and also corresponds to the positions of all particles after this update, which calculate the value of the particle fitness function, thus, by updating the positions of different particles, the values of the particle fitness function are calculated, in each update, according to the value of the particle fitness function, the position of the particle with a smaller value of the particle fitness function is taken as the individual optimal position of the particle, in this way, in each update, each particle has an individual optimal position, and the global optimal position can be obtained through the individual optimal position of each particle in each update, until the preset convergence condition is reached, the update of the particle position is stopped, and the global optimal position obtained in the last update also has a value of the particle fitness function, that is, there also exists a position of all particles corresponding to it, the value of the particle fitness function calculated by the corresponding position of all particles determines it as the global optimal position, in this way, the target execution order between the humanoid robots is obtained through the positions of all particles corresponding to the global optimal position.

[0187] In some embodiments, for particle i, f(X i ) represents the mass of the particle at X i , the smaller f(X i ), the higher the mass of the particle at X i , by updating the position of the particle, comparing the values of the particle fitness function corresponding to different X i , the X i corresponding to the smallest value of the particle fitness function is determined as the individual optimal position, in this way, the individual optimal positions of different particles can be obtained, the individual optimal positions of different particles have corresponding values of the particle fitness function, the individual optimal position with the smallest value of the particle fitness function is determined as the global optimal position, in this process, the position of the particle is updated according to the individual optimal position and the global optimal position, such as the position of the particle is updated according to the update formula of the particle velocity and the position update formula, until the preset convergence condition is reached, the execution order corresponding to the global optimal position that reaches the preset convergence condition is determined as the target execution order.

[0188] It can be understood that, for the global optimal position, the value of the corresponding particle fitness function includes the positions between the particles, and the execution order corresponding to the positions between the particles in the particle fitness function corresponding to the global optimal position is determined as the target execution order of the humanoid robot.

[0189] In some embodiments, the preset convergence condition can be that the global optimal fitness value changes by less than a preset first threshold value in consecutive iterations, or that the position of each particle changes close to a preset second threshold value (such as 0 or a value close to 0), or that a maximum number of iterations is set, and when the number of iterations reaches the upper limit, it indicates that the preset convergence condition is reached.

[0190] In an embodiment, the cooperative scheduling module 202 is further configured to optimize the particle positions according to the particle velocity update formula and the position update formula to obtain the individual optimal position and the global optimal position of the particles. The execution order of the preset task is set according to the individual optimal position and the global optimal position.

[0191] Specifically, the cooperative scheduling module 202 optimizes the task execution order according to the preset task and the allocated load resources of each humanoid robot 100 through the particle swarm optimization algorithm. In each iteration, the particle swarm optimization algorithm adjusts the velocity and position of the particles to seek the optimal task execution order, ensures that the tasks are executed in the optimal order, and thus maximizes the overall system efficiency.

[0192] It can be understood that the particle swarm optimization algorithm (PSO) can effectively solve the resource contention and dependency problem in task scheduling. The particles gradually converge to the optimal solution of task scheduling by simulating the behavior of individuals and groups in the search space, ensuring that each task can be executed in the most suitable order and minimizing the conflict and delay between tasks.

[0193] In an embodiment, the particles can update their positions through a set particle velocity update formula, and the particle velocity update formula is:

[0194]

[0195] wherein, vi(t) represents the velocity of the particle i at time t, xi(t) represents the position of the particle i at time t, w is the inertia weight, c1 and c2 represent the acceleration constant, and r1 and r2 are random numbers, pi represents the individual optimal position of the particle i, and g best gi represents the global optimal position of the particle group.

[0196] The velocity of the particle determines its next moving direction and step length, and then the position of the particle is updated through a position update formula, and the position update formula is:

[0197]

[0198] wherein, represents the position of particle i at time t+1.

[0199] The position update formula obtains the new task execution order by adding the current position of the particle to the updated velocity. Through continuous velocity and position updates, the particle swarm can gradually approach the optimal solution in a complex task scheduling problem. Each position update makes the task execution order closer to the global optimal order, thereby optimizing the overall task completion time of the system.

[0200] According to the particle velocity update formula and the position update formula, each particle can adjust its position based on the individual optimal position and the global optimal position, thereby searching for the optimal solution in the multi-dimensional task scheduling space. Through step-by-step updates of velocity and position, the particle can find the optimal task order in the task scheduling space and ultimately determine the target execution order.

[0201] In some embodiments, each humanoid robot is abstracted as a particle, and PSO calculation is performed through the above particle fitness function, particle velocity update formula, and position update formula. When convergence is reached, the positions between particles are obtained, i.e., the target execution order of the corresponding humanoid robots is determined.

[0202] Multiple humanoid robots need to cooperate to perform tasks, and the execution order of the tasks directly affects the completion time of the tasks. In particular, when there are dependencies between tasks, the task completion time is an important goal for system optimization, and reasonable arrangement of the execution order of the tasks can significantly improve the efficiency of the system.

[0203] The application of the particle swarm optimization algorithm in task scheduling gradually adjusts the task execution order by optimizing the velocity and position of the particles, thereby minimizing the total task completion time and satisfying the constraints of resource allocation and task dependencies. The fitness function of the particles is directly related to the task completion time, resource consumption, and task dependencies, and the particle swarm achieves optimization of task scheduling through continuous iterative updates.

[0204] Specifically, the position of the particle represents the task execution order, and the velocity of the particle determines the adjustment direction and step size of the execution order. Through iterative updates of the velocity and position of the particles, the particles will gradually find the optimal task execution order, minimizing the task completion time of the multiple humanoid robots and satisfying the constraints of resources and task dependencies.

[0205] The PSO not only adjusts the execution order of the tasks, but also considers the collaborative work among the humanoid robots. When each humanoid robot executes a task, it can rely on other humanoid robots to complete certain tasks, i.e., the dependency relationship between tasks, or share information and resources with other robots. Therefore, the task scheduling not only considers the task priority of each humanoid robot, but also dynamically adjusts the collaboration relationship between tasks to ensure that the humanoid robots can work efficiently and avoid resource competition and task conflicts, thereby improving the task execution effect.

[0206] In some embodiments, the communication device 300 ensures that each humanoid robot can share information in real time and coordinate work, i.e., after a task is completed, the humanoid robot at the next sequence number in the target execution sequence can be prompted by the communication device 300 to execute the task to avoid conflicts and duplication of work, so that each task can be completed in the most suitable time window.

[0207] In some embodiments, by Figure 1 the scenario, the communication resource allocation and the determination of the target execution sequence of the humanoid robots can be performed in real time according to the needs.

[0208] Figure 5 The structure schematic diagram of the humanoid robot scheduling device in the humanoid robot training field provided in the present application is shown in FIG. 1, which includes: Figure 5

[0209] The data acquisition module 510 is configured to acquire the load resource information of at least one humanoid robot and the preset task information of each humanoid robot, and the load resource information includes information corresponding to at least one load resource index.

[0210] The resource allocation module 530 is configured to determine a load utility function of the corresponding humanoid robot based on the information corresponding to the load resource index of each humanoid robot, and allocate a load resource to the corresponding humanoid robot based on the load utility function.

[0211] The task scheduling module 550 is configured to construct a particle fitness function based on the preset task information of each humanoid robot and the allocated load resource of each humanoid robot, and determine a target execution sequence of the corresponding humanoid robot for executing a task corresponding to the preset task information according to the particle fitness function of each humanoid robot.

[0212] In some embodiments, the information corresponding to the load resource index includes a type corresponding to each load resource index, and the type corresponding to the load resource index includes a load index, a battery power index, and a communication index. The load utility function is:

[0213] U i =w L ​• Norm L + w E • Norm E + w C • Norm C

[0214] wherein Norm L is the value of the normalized load indicator, Norm E is the value of the normalized battery power indicator, Norm C is the value of the normalized communication indicator, U i denotes the load utility function of the ith humanoid robot, w L , w E , w C , respectively, are the weights of the load indicator, the battery power indicator and the communication demand indicator. In a possible implementation form, the resource allocation module comprises:

[0215] an updating unit configured to adjust the values of the different load resource indicators of each humanoid robot based on a rule of maximizing the load utility function of each humanoid robot, the values of the different load resource indicators of each humanoid robot being within a range of values of the corresponding load resource indicator, and the sum of the values of the different load resource indicators of each humanoid robot being less than or equal to a threshold value of the corresponding load resource indicator.

[0216] a resource allocation unit configured to determine, when the load utility function of each humanoid robot reaches a Nash equilibrium, the values of the different load resource indicators corresponding to the load utility function of each humanoid robot as the values of the load resources allocated to the corresponding humanoid robot.

[0217] In a possible implementation form, the preset task information comprises priority information, load resource demand information and task dependency information of the corresponding task; the task scheduling module comprises:

[0218] a particle mapping unit configured to map each humanoid robot as a particle, the position of each particle corresponding to indicating the execution order of the corresponding humanoid robot.

[0219] a violation function determining unit configured to establish a load violation penalty function of the load resource demand information of each particle based on the load resources allocated to the corresponding particle and the load resource demand information.

[0220] a function constructing unit configured to construct a fitness function of each particle based on the priority information, the task dependency information and the load violation penalty function of the corresponding particle.

[0221] The task scheduling unit is configured to determine the global optimal position of each particle based on the particle fitness function corresponding to each particle, and determine the target execution sequence of the humanoid robot corresponding to each particle based on the global optimal position.

[0222] In a possible implementation, the task scheduling unit comprises:

[0223] The individual optimal position determination block is configured to update the position of each particle, and determine the individual optimal position of each particle based on the numerical value of the particle fitness function of each particle at different positions.

[0224] The global optimal position determination block is configured to determine the global optimal position of each particle based on the numerical value of the particle fitness function corresponding to the individual optimal position of each particle.

[0225] In a possible implementation, the particle fitness function is:

[0226]

[0227] wherein, t j is the execution time of the jth humanoid robot for executing the corresponding task, w j is the priority weight corresponding to the priority information of the jth humanoid robot, n is the number of humanoid robots, X i is the current position of the particle corresponding to the ith humanoid robot, and a and b are the adjustment parameters of R(X i ) and D(X i ) respectively, R(X i ) is the load violation penalty function of each humanoid robot, and D(X i ) is the dependency violation penalty function corresponding to the task dependency information.

[0228] The humanoid robot scheduling device in the humanoid robot training field provided in this embodiment can execute the method provided in the method embodiment, and has similar implementation principles and technical effects, which will not be described here in detail.

[0229] Figure 6 is a structural schematic diagram of an electronic device provided in this application. As shown in Figure 6 , the electronic device 60 provided in this embodiment comprises at least one processor 601 and a memory 602. Optionally, the device 60 further comprises a communication component 603. The processor 601, the memory 602 and the communication component 603 are connected through a bus 604.

[0230] In the specific implementation process, the at least one processor 601 executes the computer execution instructions stored in the memory 602, so that the at least one processor 601 executes the method described above.

[0231] The specific implementation process of the processor 601 can refer to the method embodiments described above, which have similar implementation principles and technical effects, and thus will not be described here.

[0232] In the above embodiments, it should be understood that the processor can be a central processing unit (CPU), and can also be other general-purpose processors, digital signal processors (DSP), application specific integrated circuits (ASIC), etc. The general-purpose processor can be a microprocessor or any conventional processor, etc. The steps of the method disclosed in the application can be directly embodied as hardware processor execution, or executed by a combination of hardware and software modules in the processor.

[0233] The memory can include a random access memory (RAM), and can also include a non-volatile memory (NVM), such as at least one disk memory.

[0234] The bus can be an industry standard architecture (ISA) bus, a peripheral component (PCI) bus, an extended industry standard architecture (EISA) bus, etc. The bus can be divided into an address bus, a data bus, a control bus, etc. For the convenience of representation, the bus in the drawings of the present application does not limit only one bus or one type of bus.

[0235] The present application also provides a computer program product, comprising a computer program, which is executed by a processor to implement the above method.

[0236] The present application also provides a computer readable storage medium, which stores computer execution instructions, and when the processor executes the computer execution instructions, the above method is implemented.

[0237] The above-mentioned readable storage medium can be realized by any type of volatile or nonvolatile storage devices or a combination thereof, such as static random access memory (SRAM), electrically erasable programmable read-only memory (EEPROM), erasable programmable read-only memory (EPROM), programmable read-only memory (PROM), read-only memory (ROM), magnetic storage, flash memory, magnetic disk or optical disk. The readable storage medium can be any available medium that can be accessed by a general or special purpose computer.

[0238] An exemplary readable storage medium is coupled to the processor, so that the processor can read information from the readable storage medium and write information to the readable storage medium. Of course, the readable storage medium can also be an integral part of the processor. The processor and the readable storage medium can be located in an application specific integrated circuit (ASIC). Of course, the processor and the readable storage medium can also exist as discrete components in the device.

[0239] The division of units is only a logical functional division, and in actual implementation, there can be another division manner, for example, multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. In addition, the coupling or direct coupling or communication connection between the units shown or discussed can be indirect coupling or communication connection through some interfaces, devices or units, which can be electrical, mechanical or other forms.

[0240] The units described as separate components can or can not be physically separated, and the components shown as units can or can not be physical units, that is, they can be located in one place, or can be distributed on multiple network units. According to actual needs, part or all of the units can be selected to achieve the purpose of the embodiment scheme.

[0241] In addition, the functional units in each embodiment of the present application can be integrated in one processing unit, or each unit can be physically present separately, or two or more units can be integrated in one unit.

[0242] If the functions are implemented in the form of software function units and sold or used as independent products, they can be stored in a computer readable storage medium. Based on this understanding, the technical solutions of the present application or the parts of the technical solutions that essentially contribute to the prior art can be embodied in the form of a software product. The computer software product is stored in a storage medium and includes a number of instructions for causing a computer device (which can be a personal computer, a server, or a network device, etc.) to execute all or part of the steps of the embodiments of the method of the present application. The aforementioned storage medium includes: a U disk, a mobile hard disk, a read-only memory (ROM, Read-Only Memory), a random access memory (RAM, Random Access Memory), a magnetic disk or an optical disk, and various media that can store program codes.

[0243] It can be understood by those skilled in the art that all or part of the steps of the above-mentioned method embodiments can be completed by program instruction related hardware. The aforementioned program can be stored in a computer readable storage medium. When the program is executed, the steps of the above-mentioned method embodiments are executed; and the aforementioned storage medium includes: ROM, RAM, magnetic disk or optical disk, and various media that can store program codes.

[0244] Finally, it should be noted that: those skilled in the art will easily think of other embodiments of the present application after considering the specification and practicing the application disclosed herein. The present application is intended to cover any variations, uses or adaptations of the present application that follow the general principles of the present application and include common knowledge or conventional technical means in the art that are not disclosed in the present application, and is not limited to the precise structure described above and shown in the drawings, and various modifications and changes can be made without departing from the scope thereof. The scope of the present application is only limited by the appended claims.

Claims

1. A humanoid robot scheduling method in a humanoid robot training field, characterized by, The method comprises the following steps: obtaining load resource information of at least one humanoid robot and preset task information of each humanoid robot, the load resource information comprising information corresponding to at least one load resource index; determining a load utility function of a corresponding humanoid robot based on the information corresponding to the load resource index of each humanoid robot, and allocating a load resource to the corresponding humanoid robot based on the load utility function; the information corresponding to the load resource index comprises a type corresponding to each load resource index, and the type corresponding to the load resource index comprises a load index, a battery power index and a communication index; the load utility function is as follows: wherein, is a value of the normalized load indicator, is a value of the normalized battery power indicator, is a value of the normalized communication indicator, represents the first load utility function of the personal robot, , , , respectively, are weights of the load indicator, the battery power indicator, and the communication demand indicator. constructing a particle fitness function based on the preset task information of each humanoid robot and the load resource allocated to each humanoid robot, and determining a target execution order of a corresponding humanoid robot for performing a task corresponding to the preset task information according to the particle fitness function of each humanoid robot; the preset task information comprises priority information, load resource demand information and task dependency information of the corresponding task.

2. The method of claim 1, wherein, The information corresponding to the load resource index further comprises a numerical range of each load resource index, and the allocation of the load resource to the corresponding humanoid robot based on the load utility function comprises the following steps: adjusting the numerical value of each humanoid robot under different load resource indexes based on a rule of maximizing the load utility function of each humanoid robot, and the adjusted numerical value of each humanoid robot under different load resource indexes is located within the numerical range of the corresponding load resource index, and the sum of the adjusted numerical value of each humanoid robot under different load resource indexes is less than or equal to a numerical threshold of the corresponding load resource index; when the load utility function of each humanoid robot reaches a Nash equilibrium, the numerical value of each load resource index corresponding to the load utility function of each humanoid robot is determined as the numerical value of the load resource allocated to the corresponding humanoid robot.

3. The method of claim 1, wherein, The construction of the particle fitness function based on the preset task information of each humanoid robot and the load resource allocated to each humanoid robot, and the determination of the target execution order of the corresponding humanoid robot for performing the task corresponding to the preset task information according to the particle fitness function of each humanoid robot comprise the following steps: mapping each humanoid robot into a particle, and a position corresponding to each particle is used to indicate the execution order of the corresponding humanoid robot; establishing a load violation penalty function of the load resource demand information of each particle based on the load resource allocated to each particle and the load resource demand information; constructing a particle fitness function of each particle based on the priority information, the task dependency information and the load violation penalty function of each particle; determining a global optimal position of each particle based on the particle fitness function of each particle, and determining the target execution order of the corresponding humanoid robot of each particle based on the global optimal position.

4. The method of claim 3, wherein, The determination of the global optimal position of each particle based on the particle fitness function of each particle comprises the following steps: updating the position of each particle, and determining an individual optimal position of each particle based on the numerical value of the particle fitness function of each particle in different positions; determining the global optimal position of each particle according to the numerical value of the particle fitness function corresponding to the individual optimal position of each particle.

5. The method of claim 3, wherein, The particle fitness function is as follows: wherein, is the number of the personal robots, is the execution time of the personal robot performing the corresponding task, is the priority information of the personal robot, is the priority weight corresponding to the priority information of the personal robot, is the number of the personal robots, is the number of the personal robots, is the current position of the particle corresponding to the personal robot, , are the adjustment parameters of the personal robot, , are the adjustment parameters of the personal robot, is the load violation penalty function of each personal robot, is the dependency violation penalty function corresponding to the task dependency information.

6. A humanoid robot scheduling apparatus in a humanoid robot training field, characterized by, ​ The data acquisition module is configured to acquire load resource information of at least one humanoid robot and preset task information of each humanoid robot, and the load resource information comprises information corresponding to at least one load resource index; The resource allocation module is configured to determine a load utility function of a corresponding humanoid robot based on information corresponding to load resource indexes of each humanoid robot, and allocate a load resource to the corresponding humanoid robot based on the load utility function; the information corresponding to the load resource indexes comprises types corresponding to each load resource index, the types corresponding to the load resource indexes comprise a load index, a battery power index and a communication index; and the load utility function is: wherein, is a value of the normalized load indicator, is a value of the normalized battery power indicator, is a value of the normalized communication indicator, represents the first load utility function of the personal robot, , , , respectively, are weights of the load indicator, the battery power indicator, and the communication demand indicator. The task scheduling module is configured to construct a particle fitness function based on the preset task information of each humanoid robot and the load resource allocated to each humanoid robot, and determine a target execution sequence of a corresponding humanoid robot for executing a task corresponding to the preset task information according to the particle fitness function of each humanoid robot; wherein the preset task information comprises priority information, load resource demand information and task dependency information of the corresponding task.

7. An electronic device, comprising: The method comprises: The memory stores computer execution instructions; The processor executes the computer execution instructions stored in the memory, so that the processor executes the method according to any one of claims 1-5. The computer readable storage medium stores computer execution instructions, and the computer execution instructions are executed by the processor to implement the method according to any one of claims 1-5.

8. A computer-readable storage medium, characterized in that, The computer program is executed by the processor to implement the method according to any one of claims 1-5.

9. A computer program product, characterised in that, ​

Citation Information

Patent Citations

  • Real-time task allocation and load balancing method and system for multi-agent system

    CN118396338A