A collaborative scheduling method for heterogeneous robot systems with diverse components

By comprehensively considering the coupling relationship between task scheduling and path planning in heterogeneous robot systems, using buffer deadlock strategy, task priority adjustment rules and task dynamic allocation methods, the problems of low efficiency and poor applicability of heterogeneous robot systems in the existing technology are solved, and an efficient scheduling solution is realized.

CN118876045BActive Publication Date: 2025-03-25NANJING UNIV OF AERONAUTICS & ASTRONAUTICS
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
CN202410811246.0
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-06-21
Publication Date
2025-03-25
Estimated Expiration
2044-06-21

AI Technical Summary

Technical Problem

In the prior art, the heterogeneous robot system is inefficient and poorly applicable because only a single scheduling problem of a single type of robot system is considered.

Method used

A heterogeneous robot system collaborative scheduling method for diverse components is proposed. By comprehensively considering the coupling relationship between task scheduling and path planning, the buffer deadlock strategy, task priority adjustment rules and task dynamic allocation method are used to determine the task allocation plan and path plan.

Benefits of technology

It improves the scheduling efficiency and applicability of heterogeneous robot systems, solves the problems of low system efficiency and poor applicability, and provides an efficient scheduling solution for heterogeneous robot systems.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN118876045B_ABST
    Figure CN118876045B_ABST
Patent Text Reader

Abstract

The present invention relates to a collaborative scheduling method for heterogeneous robot systems for diversified components, and belongs to the field of intelligent manufacturing. The method comprises the following steps: first, after the task triggering condition is met, when the task set to be assigned and the idle robot set are not empty, the assignable task set is determined according to the buffer deadlock strategy of the heterogeneous robot system; then, the task execution order in the assignable task set is determined according to the task priority adjustment rule of the heterogeneous robot system; then, according to the dynamic task allocation method of the heterogeneous robot system, the task allocation plan and the path plan are determined at the same time; finally, collision avoidance is performed according to the traffic control strategy of the heterogeneous robot system, and the idle robot scheduling is completed according to the idle robot scheduling rule. This method solves the problems of low system efficiency and poor applicability caused by only considering the single scheduling problem of a single type of robot system in the prior art, and provides a set of efficient scheduling solutions for heterogeneous robot systems.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of intelligent control, and in particular to a collaborative scheduling method for heterogeneous robot systems oriented to diversified components. Background Art

[0002] The application of robot systems in the field of intelligent manufacturing has achieved great success, greatly improving work efficiency and resource utilization. With the development of the manufacturing industry and the diversification of demand, heterogeneous robot systems are becoming more and more popular to solve practical problems such as a wide variety of tasks and large differences in task requirements. It consists of different types of robots, such as single-load robots, multi-load robots, and collaborative handling robots. Each type of robot has unique performance and functions to meet different task requirements. Therefore, compared with a single type of robot system, a heterogeneous robot system has better flexibility, stability, and scalability.

[0003] Although heterogeneous robots can improve the flexibility and intelligence of the system, they also increase the scheduling of heterogeneous robot systems. However, a reasonable scheduling scheme for heterogeneous robot systems is extremely important for the efficient operation of the system. However, after reviewing the existing literature on robot system scheduling, there are few studies on the scheduling problem of heterogeneous robot systems for diversified components. They mainly focus on the task scheduling problem in the scheduling of single-type robot systems, such as the Chinese invention patent with publication number CN115857436A. However, there is no relevant research literature on the scheduling of heterogeneous robot systems considering the coupling of path planning and task scheduling. Summary of the invention

[0004] In order to solve the technical defects existing in the prior art, the present invention proposes a collaborative scheduling method for heterogeneous robot systems with diversified components. By comprehensively considering the coupling relationship between task scheduling and path planning in heterogeneous robot systems with diversified components, the problem of low system efficiency and poor applicability caused by only considering a single scheduling problem of a single type of robot system in the prior art is solved.

[0005] The present invention is achieved through the following technical solutions:

[0006] A method for collaborative scheduling of heterogeneous robot systems for diversified components, comprising the steps of:

[0007] Step 1: Determine whether the heterogeneous robot system meets the task triggering conditions. If so, obtain the task information in the system and proceed to step 2. Otherwise, loop judgment;

[0008] Step 2: Determine whether the system's set of tasks to be assigned is not empty. If so, proceed to step 3; otherwise, proceed to step 1.

[0009] Step 3: Determine whether the idle robot set of the system is not empty; if so, proceed to step 4, otherwise proceed to step 1;

[0010] Step 4: Determine the allocatable task set according to the buffer deadlock strategy of the heterogeneous robot system;

[0011] Step 5: Determine the execution order of tasks in the allocable task set according to the task priority adjustment rules of the heterogeneous robot system;

[0012] Step 6: According to the dynamic task allocation method of the heterogeneous robot system, the task allocation plan and the path plan are determined at the same time, and the robot starts to execute the task according to the task allocation plan and the path plan;

[0013] Step 7: The robot determines whether a conflict occurs during the execution of the task. If so, it proceeds to step 8, otherwise it proceeds to step 9;

[0014] Step 8: Avoid collision according to the traffic control strategy of the heterogeneous robot system;

[0015] Step 9: Determine whether the robot has completed a task. If so, update the system status and go to step 10. Otherwise, the robot continues to perform the task and goes to step 7.

[0016] Step 10: Determine whether the robot has unfinished tasks. If the robot continues to perform tasks, go to step 7; otherwise, go to step 11.

[0017] Step 11: According to the idle robot scheduling rules, complete the idle robot scheduling, update the system status, and go to step 1.

[0018] Furthermore, the heterogeneous robot system is a system composed of robots with different functions and robots with different load capacities, including but not limited to single-load robots, multi-load robots and collaborative robots.

[0019] Furthermore, the single-load robot is used to load a single or multiple loads from a single loading point and then unload a single or multiple loads to a single unloading point in one mission.

[0020] Furthermore, the multi-load robot is capable of loading a single or multiple loads from multiple loading points, or unloading a single or multiple loads to multiple unloading points in one mission.

[0021] Furthermore, the collaborative robot needs to cooperate with other robots to carry a task from a loading point to an unloading point.

[0022] Furthermore, the task allocation triggering conditions include periodic triggering and event triggering.

[0023] Furthermore, the task information in the system includes a transport start point and a transport end point of the task, a task generation time and a deadline, the number of workpieces included in the task, and a type of robot required to transport the task.

[0024] Furthermore, the set of tasks to be assigned is a set of all tasks that have been generated in the heterogeneous robot system but have not been assigned to robots for handling.

[0025] Furthermore, the idle robot set is idle robots in the system that have completed the previous round of tasks and have not been assigned new tasks.

[0026] Furthermore, in step 4, the heterogeneous robot system buffer deadlock strategy includes the following steps:

[0027] Step 4.1: Determine the total number of robots N in the heterogeneous robot system, and set the robot serial number to i, i = 1...N;

[0028] Step 4.2: Set the robot serial number i=1 and the number of active robots in the system j=0;

[0029] Step 4.3: Determine whether i is less than or equal to N. If so, proceed to step 4.4, otherwise proceed to step 4.8;

[0030] Step 4.4: Determine whether the i-th robot Ri has an assigned and unfinished task. If so, proceed to step 4.5. Otherwise, the number of active robots in the system j=j+1, the robot serial number i=i+1, and proceed to step 4.3.

[0031] Step 4.5: Determine whether the robot Ri is a multi-load robot. If so, proceed to step 4.6; otherwise, proceed to step 4.7;

[0032] Step 4.6: Determine whether the remaining capacity of the target workstation of any assigned and unfinished task of robot Ri is less than 0. If so, robot Ri is a blocked robot, robot serial number i=i+1, and go to step 4.3. Otherwise, the number of active robots in the system j=j+1, robot serial number i=i+1, and go to step 4.3.

[0033] Step 4.7: Determine whether the remaining capacity of the target workstation of the task assigned and not completed by robot Ri is less than 0. If so, robot Ri is a blocked robot, robot serial number i=i+1, and go to step 4.3. Otherwise, the number of active robots in the system j=j+1, robot serial number i=i+1, and go to step 4.3.

[0034] Step 4.8: After the robot status judgment in the heterogeneous robot system is completed, determine whether the number of active robots j in the system is greater than 1. If so, select the appropriate task according to the task priority, otherwise, go to step 4.9;

[0035] Step 4.9: Determine whether the number of active robots j in the system is equal to 1. If so, it is forbidden to assign dangerous tasks to the only active robot. Otherwise, the number of active robots j in the system is 0, and the system has a buffer deadlock and requires manual intervention.

[0036] Furthermore, the mobile robot is a non-blocking robot.

[0037] Furthermore, the remaining capacity of the target workstation is the total capacity of the input buffer of the target workstation + the total capacity of the output buffer + the remaining capacity of the machine tool - the number of workpieces occupied by the input buffer - the number of workpieces allocated but not yet arrived in the input buffer - the number of workpieces occupied by the output buffer + the number of workpieces allocated but not yet taken away by the output buffer.

[0038] Furthermore, the blocked robot is a robot whose target workstation has a remaining capacity less than or equal to 0, which makes it unable to complete unloading and keeps waiting at the unloading point. The blocked robot cannot be assigned new loading tasks and can only execute the assigned loading and unloading tasks in sequence.

[0039] Furthermore, the dangerous task is a task in which there is no robot waiting to be unloaded at the starting workstation and the remaining capacity of the target workstation is less than or equal to 0.

[0040] Furthermore, the assignable task set is a set of remaining tasks after the tasks in the task set to be assigned are prohibited from dangerous tasks according to the buffer deadlock strategy of the heterogeneous robot system.

[0041] Furthermore, the task priority adjustment rule of the heterogeneous robot system is to determine the task priority based on the weighted value of the task type, initial priority and waiting time. The larger the weighted value, the higher the priority. The priority of the task type is collaborative task > multi-load task > single-load task; the initial priority is determined by the deadline of the task. The closer the task is to the deadline, the higher the priority; the waiting time of the task is the current time minus the task generation time. The longer the waiting time of the task, the higher the priority.

[0042] Furthermore, in step 6, the method for dynamically allocating tasks of a heterogeneous robot system includes the following steps:

[0043] Step 6.1: Obtain the task execution order in the allocatable task set Ω = (T 1 , T 2 ,…,T k ,…Tn ), set the task number k in the allocatable task set to 1;

[0044] Step 6.2: Determine whether k is less than or equal to n. If so, proceed to step 6.3; otherwise, proceed to step 6.13.

[0045] Step 6.3: Determine the kth task T in the allocable task set k Is it a collaborative task? If yes, go to step 6.4; otherwise, go to step 6.8;

[0046] Step 6.4: Determine whether there is an idle collaborative robot group. If so, proceed to step 6.5. Otherwise, wait for the next round of scheduling and proceed to step 6.12.

[0047] Step 6.5: Determine the number M of idle collaborative robot groups, and set the sequence number m of the idle collaborative robot group to 1;

[0048] Step 6.6: Determine whether m is less than or equal to M. If so, proceed to step 6.7. Otherwise, set T k Assign to the idle collaborative robot group with the shortest task travel time and go to step 6.12;

[0049] Step 6.7: Assume that T k Assign it to the mth idle collaborative robot group, then determine the assembly path based on the multi-robot assembly path planning method with time window genetic algorithm, and determine the shortest handling path based on the shortest path planning method, and finally determine the task travel time based on the task travel time prediction method, and go to step 6.6;

[0050] Step 6.8: Determine whether there is a matching idle robot. If so, proceed to step 6.9. Otherwise, wait for the next round of scheduling and proceed to step 6.12.

[0051] Step 6.9: Determine the number M of matching idle robots, and set the matching idle robot sequence number m=1;

[0052] Step 6.10: Determine whether m is less than or equal to M. If so, proceed to step 6.11. Otherwise, set T k Assign the idle robot with the shortest mission travel time to the task and proceed to step 6.12;

[0053] Step 6.11: Assume that T k Assign to the mth matching idle robot, then determine the shortest path based on the shortest path planning method, and finally determine the task travel time based on the task travel time prediction method, and go to step 6.10;

[0054] Step 6.12: Task number k in the allocatable task set = k+1, go to step 6.2;

[0055] Step 6.13: Obtain the task allocation plan and path plan, and update the system status.

[0056] Furthermore, the collaborative task is a task that is carried by collaborative robots, that is, a task that requires collaborative carrying by multiple robots.

[0057] Furthermore, the collaborative robot group is a combination of collaborative robots that can carry out a certain collaborative task.

[0058] Furthermore, in step 6.7, the multi-robot assembly path planning method with time window genetic algorithm includes the following steps:

[0059] Step 6.71: Individual coding design. The chromosome of the assembly path of the collaborative robot group adopts a hierarchical coding method, and the number of sub-chromosomes is determined according to the number of robots in the collaborative robot group. Each sub-chromosome is a path string of a collaborative robot, and the gene of the sub-chromosome is a path node on the path string.

[0060] Step 6.72: Population initialization. Determine the first and last genes of the chromosome according to the robot's initial position and the task point position. Then query the path network information of the host computer and the constraints of the host computer's traffic management. Starting from the initial point, select any next node that can be reached as the next gene until the target node is found. If a loop appears, restart the search until a one-way path without loops is found. The population size is proportional to the number of robots in the collaborative robot group.

[0061] Step 6.73: Individual evaluation, take the assembly time as the fitness function, and then sort all individuals in the population according to fitness. The assembly time is calculated by the average speed of the robot, the path length, the congestion time, etc. The longer the assembly time, the lower the fitness value;

[0062] Step 6.74: Selection operation: Roulette selection method is used for selection operation. All individuals in the population are arranged in ascending order of fitness. The probability of each individual being selected is proportional to its fitness. Then, two individuals are selected from the parent population each time to enter the crossover mutation operation.

[0063] Step 6.75: Crossover operation, crossover probability is P c The specific operation is: from two parent individuals F 1 and F 2 Select the worst sub-chromosome from the 1 The worst sub-chromosome is F 2 Replace the corresponding sub-chromosome in F 2 The worst sub-chromosome is F 1 The corresponding sub-chromosomes in are replaced, thus obtaining two offspring;

[0064] Step 6.76: Crossover operation, mutation probability is P m ,The specific operation is as follows: randomly select a gene from each sub-chromosome, and then replace it with a new path node position. If the mutated node cannot be connected to the initial path, search for nodes on the unconnected sub-path segment and add nodes to make it connected. If the mutated node overlaps with the initial path, delete the node between the mutated point and the overlapping point and reselect;

[0065] Step 6.77: Based on the time window adjustment, predict whether the robots will conflict. If a conflict occurs, choose a method with a shorter collective time from the delayed time window method and the local path replanning method to avoid the conflict;

[0066] Step 6.78: Elite retention strategy: after the parent population undergoes selection, crossover and mutation operations, a new offspring population is obtained, which is merged with the parent population to obtain a candidate population. Half of the excellent individuals in the candidate population need to be selected according to fitness ranking as the elite individuals to be retained;

[0067] Step 6.79: Iteration termination condition, determine whether the iteration termination condition is met. If so, end the iteration and output the optimal solution. Otherwise, go to step 6.73 and continue iterating.

[0068] Furthermore, the delayed time window method is to make the robot wait at the intersection when a conflict occurs, so that the robot's time window moves back, thereby avoiding time window conflict.

[0069] Furthermore, the local path replanning method is to replan a sub-path from the forward node of the conflicting path to the target point when a conflict occurs, and then integrate the sub-path with the path before the conflict occurs in the initial path to obtain a complete path.

[0070] Furthermore, the iteration termination condition includes reaching a set number of iterations or the optimal solution being obtained N times in a row. e The generation remains unchanged.

[0071] Furthermore, the shortest path planning method includes but is not limited to A * algorithm, Floyd algorithm, Dijkstra algorithm.

[0072] Furthermore, the task travel time prediction method includes a task travel time prediction method based on an empirical formula and a task travel time prediction method based on a neural network. The task travel time is affected by factors such as the priority of the task, the robot number assigned to the task, the execution order of the task on the robot, the path information of the robot, the task information being executed by the robot, the task level, and the task type.

[0073] Furthermore, the path plan is the assembly path determined by the multi-robot assembly path planning method with a time window genetic algorithm in the task allocation process or the shortest transport path obtained by the shortest path planning method. The collaborative task path plan includes the assembly path and the transport path, and the multi-load task path plan needs to consider the path of each subtask on the multi-load robot and the order relationship between the subtasks at the same time.

[0074] Furthermore, the traffic control strategy of the heterogeneous robot system is to select a suitable conflict avoidance method according to the type of conflict. When a overtaking conflict occurs, methods such as lateral movement, path planning, and manual intervention can be used; when the robot turns to space conflict caused by the close distance between two guiding paths, the path segment that may collide due to the close proximity can be regarded as a virtual intersection, and then the intersection QR code positioning and semaphore mutual exclusion mechanism collision avoidance method is used to ensure that when a robot is turning, there is no robot in the interference position of the other path segment; when the robot occupies the intersection because there is no remaining space in the path segment to be entered, thereby hindering other traffic, it is necessary to consider whether the remaining length of the path segment to be entered is sufficient and whether a loop deadlock will occur before entering the intersection. If there is insufficient space or a loop deadlock will be caused, the robot is temporarily prohibited from entering the corresponding path segment and its associated intersection, so as to avoid the intersection being occupied by it for a long time and affecting the passage of other robots. When the collaborative task occupies a large lane space and affects other lanes, the affected lane will be temporarily closed to restrict other robots from entering, and the restriction will be lifted when the collaborative task passes. When two robots have a motion conflict due to their intention to pass through the same intersection at the same time, in order to avoid the conflict, it is necessary to first set the passage order, and then pass through in turn according to the passage order. The passage order of the robots is determined by the type of task performed by the robots, the remaining travel time of the task, the space occupied by the robots in the path segment, the traffic flow of the current path segment, and the traffic flow of the next path segment.

[0075] Furthermore, the idle robot scheduling rule is that when the robot completes a task, it determines whether the robot's power is below a threshold. If so, it goes to a suitable charging area for charging; otherwise, according to the type of robot, it goes to the nearest docking point where robots of this type can dock and waits for the next task assignment.

[0076] Compared with the prior art, the present invention has at least the following beneficial effects or advantages:

[0077] The present invention proposes a collaborative scheduling method for heterogeneous robot systems with diversified components. By comprehensively considering the coupling relationship between task scheduling and path planning in heterogeneous robot systems with diversified components, the present invention solves the problems of low system efficiency and poor applicability caused by only considering a single scheduling problem of a single type of robot system in the prior art, and provides a set of efficient scheduling solutions for heterogeneous robot systems. BRIEF DESCRIPTION OF THE DRAWINGS

[0078] Figure 1 It is a flow chart of the collaborative scheduling method of heterogeneous robot system for diversified components of the present invention;

[0079] Figure 2 It is a flow chart of the buffer deadlock strategy of the heterogeneous robot system of the present invention;

[0080] Figure 3 The present invention is a flowchart of a method for dynamically allocating tasks to a heterogeneous robot system. DETAILED DESCRIPTION

[0081] The following will be combined with the drawings in the embodiments of the present invention to clearly and completely describe the technical solutions in the embodiments of the present invention. Obviously, the described embodiments are part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of the present invention.

[0082] Since the heterogeneous robot system is relatively complex, the following assumptions are made for the system:

[0083] 1. The robot is a mobile robot. All multi-load robots are loaded at different locations, and then the multi-load robots carry out transportation at a uniform speed according to the planned unloading sequence;

[0084] 2. Once the robot starts transporting, it will not change the path or adjust the order of task unloading on its own;

[0085] 3. The system path network is a one-way single lane and does not support overtaking;

[0086] 4. The multi-load robot loads trailers from front to back and unloads trailers in a first-in-last-out manner.

[0087] 5. The robot unloading time is fixed. If there are multiple robots at the same loading and unloading point, they need to wait in line.

[0088] 6. Once the robot starts charging, it will not stop until charging is completed.

[0089] Figure 1The flowchart of the collaborative scheduling method of heterogeneous robot system for diversified components of the present invention is as follows. The collaborative scheduling method of heterogeneous robot system for diversified components specifically includes the following steps:

[0090] Step 1: Determine whether the heterogeneous robot system meets the task triggering conditions. If so, obtain the task information in the system and proceed to step 2. Otherwise, loop judgment;

[0091] When the heterogeneous robot system calls the heterogeneous robot system collaborative scheduling method, it will first check whether the task triggering conditions are met. When the task triggering conditions are met, the task information in the system is obtained, including the task's transport starting point and transporting end point, task generation time and deadline, the number of workpieces included in the task, and the type of robot required to transport the task, and then enter step 2; when the task triggering conditions are not met, it is necessary to loop the judgment until the task triggering conditions are met.

[0092] In the embodiment of the present invention, the heterogeneous robot system is a system composed of robots with different functions and robots with different load capacities, including but not limited to single-load robots, multi-load robots and collaborative robots. Among them, the single-load robot is a robot that loads a single or multiple loads from a single loading point and then unloads a single or multiple loads at a single unloading point in one task; the multi-load robot is a robot that loads a single or multiple loads from multiple loading points or unloads a single or multiple loads at multiple unloading points in one task; the collaborative robot is a robot that needs to cooperate with other robots to carry the task from the loading point to the unloading point in one task.

[0093] In an embodiment of the present invention, the task allocation trigger conditions include periodic triggering and event triggering, wherein the periodic triggering is a regular triggering at fixed time intervals, and the event triggering is a scheduling method triggered when a set event occurs. In an embodiment of the present invention, the set event includes the number of tasks in the task set to be assigned reaching a certain value.

[0094] It should be noted that the task allocation trigger condition may also select only periodic triggering or event triggering, and the set event in the event triggering may not be the set event in the embodiment of the present invention. For example, the set event may also be the occurrence of collaborative tasks in the set of tasks to be allocated.

[0095] Step 2: Determine whether the system's set of tasks to be assigned is not empty. If so, proceed to step 3; otherwise, proceed to step 1.

[0096] When the heterogeneous robot system meets the task triggering conditions, it is determined whether the system's set of tasks to be assigned is not empty. If the set of tasks to be assigned is empty, there is no task in the system that requires the assignment of robots and planning of paths, so no scheduling is required. The system goes to step 1 and waits for the next time the system meets the task triggering conditions. If the set of tasks to be assigned is not empty, the system goes to step 3.

[0097] In the embodiment of the present invention, the set of tasks to be assigned is a set of all tasks that have been generated in the heterogeneous robot system but have not been assigned to robots for handling.

[0098] Step 3: Determine whether the idle robot set of the system is not empty; if so, proceed to step 4, otherwise proceed to step 1;

[0099] When the set of tasks to be assigned is not empty, determine whether the idle robot set of the system is not empty. If the idle robot set is empty, there is no idle robot in the system to perform new tasks, so there is no need to schedule, and go to step 1 to wait for the next time the system meets the task triggering conditions; if the idle robot set is not empty, go to step 4 and start scheduling.

[0100] In the embodiment of the present invention, the idle robot set refers to idle robots in the system that have completed the previous round of tasks and have not been assigned new tasks.

[0101] Step 4: Determine the allocatable task set according to the buffer deadlock strategy of the heterogeneous robot system;

[0102] When the idle robot set is not empty, the assignable task set is determined according to the heterogeneous robot system buffer deadlock strategy. In the embodiment of the present invention, the assignable task set is a set of remaining tasks after the tasks in the task set to be assigned are prohibited from dangerous tasks according to the heterogeneous robot system buffer deadlock strategy. Among them, the dangerous task is a task where there is no robot waiting to be unloaded at the starting workstation and the remaining capacity of the target workstation is less than or equal to 0.

[0103] Step 5: Determine the execution order of tasks in the allocable task set according to the task priority adjustment rules of the heterogeneous robot system;

[0104] After determining the system's allocable task set, the priorities of the tasks in the system's allocable task set are calculated and sorted according to the heterogeneous robot system task priority adjustment rules to determine the execution order of the tasks in the allocable task set. The task execution order is the order in which the tasks in the allocable task set are executed. The higher the task priority, the faster the robot will be assigned to execute the task.

[0105] In the embodiment of the present invention, the task priority adjustment rule of the heterogeneous robot system is to determine the task priority based on the weighted value of the task type, initial priority and waiting time. The larger the weighted value, the higher the priority. The priority of the task type is collaborative task > multi-load task > single-load task; the initial priority is determined by the deadline of the task. The closer the task is to the deadline, the higher the priority; the waiting time of the task is the current time minus the task generation time. The longer the waiting time of the task, the higher the priority.

[0106] It should be noted that the task priority may also be determined by using an average weighted value based on the task type, initial priority and waiting time, or it may not be the weighted method in the embodiment of the present invention.

[0107] Step 6: According to the dynamic task allocation method of the heterogeneous robot system, the task allocation plan and the path plan are determined at the same time, and the robot starts to execute the task according to the task allocation plan and the path plan;

[0108] After the tasks in the assignable task set of the heterogeneous robot system are sorted according to the task priority adjustment rules of the heterogeneous robot system, the tasks in the assignable task set are assigned to the idle robot for handling according to the dynamic task allocation method of the heterogeneous robot system, and the handling path is obtained at the same time, that is, the task allocation plan and the path plan are determined at the same time, and then the robot starts to perform the task according to the task allocation plan and the path plan. The task allocation plan is the correspondence between the tasks in the assignable task set and the idle robots in the system, that is, the tasks assigned to the idle robots after task scheduling are determined. The path plan is the assembly path determined by the multi-robot assembly path planning method based on the genetic algorithm with time window in the task allocation process or the shortest handling path obtained by the shortest path planning method. Among them, the collaborative task path plan includes the assembly path and the handling path. The multi-load task path plan needs to consider the path of each subtask on the multi-load robot and the sequential relationship between the subtasks at the same time, that is, the target point position of a subtask forward subtask on the multi-load robot is the starting point position of the subtask, and it is necessary to start from this position to perform the loading or unloading of the subtask.

[0109] Step 7: The robot determines whether a conflict occurs during the execution of the task. If so, it proceeds to step 8, otherwise it proceeds to step 9;

[0110] After the system determines the task allocation plan and the path plan simultaneously according to the dynamic task allocation method of the heterogeneous robot system, the robot starts to execute the task according to the task allocation plan and the path plan, and determines whether a conflict occurs during the execution of the task. If a conflict occurs, it goes to step 8 to avoid the collision; if no conflict occurs during the execution of the task, it goes to step 9.

[0111] Step 8: Avoid collision according to the traffic control strategy of the heterogeneous robot system;

[0112] When robots collide during mission execution, they need to avoid collisions based on the traffic control strategy of the heterogeneous robot system.

[0113] In the embodiment of the present invention, the traffic control strategy of the heterogeneous robot system is to select a suitable conflict avoidance method according to the type of conflict. When a overtaking conflict occurs, methods such as lateral shifting, path planning, and manual intervention can be used; when the robot turns to space conflict caused by the close distance between two guiding paths, the path segment that may collide due to the close proximity can be regarded as a virtual intersection, and then the intersection QR code positioning and semaphore mutual exclusion mechanism collision avoidance method is used to ensure that when a robot is turning, there is no robot in the interference position of the other path segment; when the robot occupies the intersection because there is no remaining space in the path segment to be entered, thereby hindering other traffic, it is necessary to consider whether the remaining length of the path segment to be entered is sufficient and whether a loop deadlock will occur before entering the intersection. If there is insufficient space or a loop deadlock will be caused, the robot is temporarily prohibited from entering the corresponding path segment and its associated intersection, thereby avoiding the intersection from being occupied by it for a long time and affecting the passage of other robots. When the collaborative task occupies a large lane space and affects other lanes, the affected lane is temporarily closed to restrict other robots from entering, and the restriction is lifted when the collaborative task passes. When two robots have a motion conflict due to their intention to pass through the same intersection at the same time, in order to avoid the conflict, it is necessary to first set the passage order, and then pass through in turn according to the passage order. The passage order of the robots is determined by the type of task performed by the robots, the remaining travel time of the task, the space occupied by the robots in the path segment, the traffic flow of the current path segment, and the traffic flow of the next path segment.

[0114] It should be noted that the traffic control strategy for heterogeneous robot systems only describes common types of conflicts and proposes corresponding collision avoidance methods for these conflict types. However, other types of conflicts can also be simplified into the above conflict types and resolved using the above methods. For example, opposite-direction conflicts can be resolved using the method of overtaking conflicts.

[0115] Step 9: Determine whether the robot has completed a task. If so, update the system status and go to step 10. Otherwise, the robot continues to perform the task and goes to step 7.

[0116] When the robot reaches the unloading point and completes unloading during execution, it is necessary to determine whether the robot has completed a task. If the robot has completed a task, the system status is updated, including the path occupancy status of the system, the status of the robot, the task status, the workstation buffer status, etc. Then go to step 10 to determine whether there are unfinished tasks; if the robot has not completed a task, the robot continues to execute the task and goes to step 7 to continue to avoid conflicts during the execution of the task.

[0117] Step 10: Determine whether the robot has unfinished tasks. If the robot continues to perform tasks, go to step 7; otherwise, go to step 11.

[0118] Because a multi-load robot has multiple subtasks, when the robot completes a subtask, it is necessary to determine whether the robot has unfinished tasks. If the robot has unfinished tasks, the robot continues to perform the task and enters step 7 to avoid conflicts during the task execution process; if the robot has no unfinished tasks, it enters step 11 to schedule the idle robot.

[0119] It should be noted that when a robot is assigned a new task while it is still executing a task, there may be a situation where the robot still has unfinished tasks when a task is completed.

[0120] Step 11: According to the idle robot scheduling rules, complete the idle robot scheduling, update the system status, and go to step 1.

[0121] When the robot completes all tasks, it is necessary to complete the idle robot scheduling according to the idle robot scheduling rules to avoid the idle robot causing congestion of other robots due to occupying the idle path, and update the system status, including the system's path occupancy status, robot status, task status, workstation buffer status, etc.

[0122] In the embodiment of the present invention, the idle robot scheduling rule is that when the robot completes a task, it is determined whether the robot's power is below a threshold. If it is below the threshold, it goes to a suitable charging area for charging. Otherwise, it goes to the nearest docking point where robots of this type can dock according to the type of robot and waits for the next task assignment. Because different types of robots have different sizes and load capacities, the space they occupy will also be different. It is necessary to set docking points separately to maximize space utilization.

[0123] In step 4, the buffer deadlock strategy of the heterogeneous robot system includes the following steps:

[0124] Step 4.1: Determine the total number of robots N in the heterogeneous robot system, and set the robot serial number to i, i = 1...N;

[0125] In order to determine the deadlock of buffers in heterogeneous robot systems, in the embodiment of the present invention, the number of active robots and blocked robots is calculated with robots as the research object, rather than with buffers as the research object, because for single-load robots, the number of blocked buffers is the number of blocked robots. However, for multi-load robots, because a robot can carry multiple subtasks at the same time, it may cause a robot to deadlock in multiple buffers at the same time. If the number of blocked robots is calculated according to the idea of ​​single-load robots, the same blocked robot will be counted repeatedly. Therefore, the number of active robots and blocked robots is calculated with robots as the research object. Before calculating the number of active robots and blocked robots, it is necessary to determine the total number of robots N in the heterogeneous robot system, and set the robot serial number to i, i=1...N, where the i-th robot is recorded as Ri.

[0126] In the embodiment of the present invention, a blocked robot is a robot whose target workstation has a remaining capacity less than or equal to 0, which makes it unable to complete unloading and keeps waiting at the unloading point. A blocked robot cannot be assigned new loading tasks and can only execute the assigned loading and unloading tasks in sequence. An active robot is a non-blocked robot.

[0127] Step 4.2: Set the robot serial number i=1 and the number of active robots in the system j=0;

[0128] After determining the total number of robots in the heterogeneous robot system, starting from the first robot, the status of the robots is judged in turn, so the robot serial number i=1 is set, and the number of active robots in the system j=0 is recorded.

[0129] Step 4.3: Determine whether i is less than or equal to N. If so, proceed to step 4.4, otherwise proceed to step 4.8;

[0130] It is necessary to ensure that all robot states have been calculated and judged, so it is necessary to determine whether i is less than or equal to N. If i is less than or equal to N, then all robot states have not been calculated and judged yet, and go to step 4.4 to continue to calculate and judge the state of the i-th robot Ri; if i is greater than N, then all robot states have been calculated and judged, and go to step 4.8 to determine whether the system buffer deadlock critical value has been reached;

[0131] Step 4.4: Determine whether the i-th robot Ri has an assigned and unfinished task. If so, proceed to step 4.5. Otherwise, the number of active robots in the system j=j+1, the robot serial number i=i+1, and proceed to step 4.3.

[0132] When i is less than or equal to N, that is, when the states of all robots have not been calculated and judged, it is necessary to continue to calculate and judge the state of the i-th robot Ri. First, determine whether the i-th robot Ri has any assigned and unfinished tasks. If so, go to step 4.5 and continue to determine the type of robot, and determine the status of the robot task based on the type; if there is no assigned and unfinished task, the robot is an idle robot and must be an active robot. At this time, the number of active robots in the system j=j+1, and the robot serial number i=i+1. Go to step 4.3 and continue to calculate and judge the next robot state or complete the calculation and judgment of all robot states.

[0133] Step 4.5: Determine whether the robot Ri is a multi-load robot. If so, proceed to step 4.6; otherwise, proceed to step 4.7;

[0134] Because of the particularity of the multi-load robot task, that is, there are multiple subtasks, the calculation and judgment method of the multi-load robot state is different from the judgment method of other types of robots, so it is necessary to judge the multi-load robot and other types of robots separately. Therefore, it is necessary to judge whether the robot Ri is a multi-load robot. If so, go to step 4.6, otherwise, go to step 4.7;

[0135] Step 4.6: Determine whether the remaining capacity of the target workstation of any assigned and unfinished task of robot Ri is less than 0. If so, robot Ri is a blocked robot, robot serial number i=i+1, and go to step 4.3. Otherwise, the number of active robots in the system j=j+1, robot serial number i=i+1, and go to step 4.3.

[0136] When the robot Ri is a multi-load robot, determine whether the remaining capacity of the target workstation of any assigned and unfinished task of the robot Ri is less than 0. If the remaining capacity of the target workstation of any assigned and unfinished task of the robot Ri is less than 0, the robot Ri is a blocked robot, the robot serial number i=i+1, and enter step 4.3. Because the remaining capacity of the target workstation of any assigned and unfinished task on the multi-load robot is less than 0, there is no space at the target workstation for the robot to unload the task on the vehicle. The robot can only wait at the unloading point. At this time, the robot is a blocked robot until the remaining capacity at the unloading point is sufficient for the robot to complete the unloading; if the remaining capacity of the target workstation of any assigned and unfinished task of the robot Ri is greater than or equal to 0, there is enough space at the target workstation for the robot to unload the task on the vehicle. The robot can directly unload the task at any assigned and unfinished task. When all tasks are unloaded, the robot Ri is an idle robot, so the robot Ri is an active robot, the number of active robots in the system j=j+1, and the robot serial number i=i+1, and enter step 4.3.

[0137] In an embodiment of the present invention, the remaining capacity of the target workstation is the total capacity of the input buffer of the target workstation + the total capacity of the output buffer + the remaining capacity of the machine tool - the number of workpieces occupied by the input buffer - the number of workpieces allocated but not yet arrived in the input buffer - the number of workpieces occupied by the output buffer + the number of workpieces allocated but not yet pulled away in the output buffer.

[0138] Step 4.7: Determine whether the remaining capacity of the target workstation of the task assigned and not completed by robot Ri is less than 0. If so, robot Ri is a blocked robot, robot serial number i=i+1, and go to step 4.3. Otherwise, the number of active robots in the system j=j+1, robot serial number i=i+1, and go to step 4.3.

[0139] When the robot Ri is not a multi-load robot, determine whether the remaining capacity of the target workstation of the task assigned and not completed by the robot Ri is less than 0. If the remaining capacity of the target workstation of the task assigned and not completed by the robot Ri is less than 0, the robot Ri is a blocked robot, the robot serial number i=i+1, and the process goes to step 4.3. Because no matter it is a single-load robot or a collaborative robot, only one task is assigned each time, and there is only one target workstation. When the remaining capacity of the target workstation is less than 0, there is no space at the target workstation for the robot to unload the task on the vehicle. The robot can only wait at the unloading point. At this time, the robot is a blocked robot until there is enough remaining capacity at the unloading point for the robot to complete the unloading. If the remaining capacity of the target workstation of the task assigned and not completed by the robot Ri is greater than or equal to 0, there is enough space at the target workstation for the robot to unload the task on the vehicle. The robot can directly unload the task at the target workstation. When the task is unloaded, the robot Ri is an idle robot, so the number of active robots in the system j=j+1, and the robot serial number i=i+1, and the process goes to step 4.3.

[0140] Step 4.8: After the robot status judgment in the heterogeneous robot system is completed, determine whether the number of active robots j in the system is greater than 1. If so, select the appropriate task according to the task priority, otherwise, go to step 4.9;

[0141] When i is greater than N, that is, when the robot status judgment in the heterogeneous robot system is completed, it is judged whether the number of active robots j in the system is greater than 1, that is, whether the critical condition of system buffer deadlock is reached. If the number of active robots j in the system is greater than 1, the system will not face buffer deadlock temporarily, and the appropriate task can be selected according to the task priority. However, it is necessary to ensure that the number of tasks with the remaining capacity of the target workstation less than 0 is less than the number of active robots in the system to avoid buffer deadlock. If the number of active robots j in the system is less than or equal to 1, go to step 4.9;

[0142] Step 4.9: Determine whether the number of active robots j in the system is equal to 1. If so, it is forbidden to assign dangerous tasks to the only active robot. Otherwise, the number of active robots j in the system is 0, and the system has a buffer deadlock and requires manual intervention.

[0143] When the number of active robots j in the system is less than or equal to 1, determine whether the number of active robots j in the system is equal to 1. If the number of active robots j in the system is equal to 1, the critical condition of system buffer deadlock is reached. In order to avoid buffer deadlock in the system, it is prohibited to assign dangerous tasks to the only active robot; if the number of active robots j in the system is equal to 0, the system has buffer deadlocked and manual intervention is required.

[0144] In step 6, the method for dynamically allocating tasks of a heterogeneous robot system includes the following steps:

[0145] Step 6.1: Obtain the task execution order in the allocatable task set Ω = (T 1 , T 2 ,…,T k ,…T n ), set the task number k in the allocatable task set to 1;

[0146] In order to assign tasks in the assignable task set to idle robots for handling and obtain the handling path at the same time, it is necessary to first obtain the task execution order of the assignable task set of the heterogeneous robot system Ω = (T 1 , T 2 ,…,T k ,…T n ), and then start allocating idle robots and planning paths according to the execution order of tasks, starting with the task with the highest ranking, and determine the assigned robots and plan paths in turn, so set the task number k=1 in the allocable task set.

[0147] Step 6.2: Determine whether k is less than or equal to n. If so, proceed to step 6.3; otherwise, proceed to step 6.13.

[0148] It is necessary to ensure that all tasks in the allocable task set have completed task assignment and path planning, so it is necessary to determine whether k is less than or equal to n. If k is less than or equal to n, then all tasks in the allocable task set have not completed task assignment and path planning, and go to step 6.3 to continue to perform task assignment and path planning on the kth task T. k Perform task allocation and path planning; if k is greater than n, all tasks in the task set can be allocated. After completing task allocation and path planning, proceed to step 6.13.

[0149] Step 6.3: Determine the kth task T in the allocable task set k Is it a collaborative task? If yes, go to step 6.4; otherwise, go to step 6.8;

[0150] When k is less than or equal to n, and all tasks in the assignable task set have not completed task assignment and path planning, it is necessary to continue to assign the kth task T k To perform task allocation and path planning, first determine the kth task T in the assignable task set k Is it a collaborative task? Because the number of robots required for collaborative tasks is different from that for other tasks. Collaborative tasks require multiple robots to carry the tasks together, while single-load tasks or multi-load tasks only require one robot to carry the tasks. If the kth task T k For collaborative tasks, go to step 6.4 and judge the robots of collaborative tasks; if the kth task T kIf it is not a collaborative task, go to step 6.8 to judge the robots of other tasks.

[0151] In the embodiment of the present invention, the collaborative task is a task of collaborative robot handling, that is, a task that requires collaborative handling by multiple robots.

[0152] Step 6.4: Determine whether there is an idle collaborative robot group. If so, proceed to step 6.5. Otherwise, wait for the next round of scheduling and proceed to step 6.12.

[0153] Because collaborative tasks require multiple robots to carry together, when the kth task T k When it is a collaborative task, determine whether there is an idle collaborative robot group, that is, whether there is a combination of collaborative robots that can carry out a collaborative task. If there is an idle collaborative robot group, go to step 6.5; if there is no idle collaborative robot group, wait for the next round of scheduling and go to step 6.12. When there is an idle collaborative robot group in the next round, the task will be assigned and the path planned.

[0154] Step 6.5: Determine the number M of idle collaborative robot groups, and set the sequence number m of the idle collaborative robot group to 1;

[0155] When there is an idle collaborative robot group, obtain a suitable task T for the kth task k To find the optimal idle collaborative robot group, we first need to determine the number of idle collaborative robot groups M and judge the idle collaborative robot groups in turn. First, set the idle collaborative robot group number m=1, and start from the first idle collaborative robot group, and judge the performance of the idle collaborative robot groups in turn.

[0156] Step 6.6: Determine whether m is less than or equal to M. If so, proceed to step 6.7. Otherwise, set T k Assign to the idle collaborative robot group with the shortest task travel time and go to step 6.12;

[0157] It is necessary to ensure that all idle collaborative robot groups are judged, so it is necessary to judge whether m is less than or equal to M. If m is less than or equal to M, the judgment of all idle collaborative robot groups is not completed, and go to step 6.7 to continue to judge the mth idle collaborative robot group; if m is greater than M, the judgment of all idle collaborative robot groups is completed, and go to step 6.12 to select the most suitable idle collaborative robot group.

[0158] Step 6.7: Assume that T kAssign it to the mth idle collaborative robot group, then determine the assembly path based on the multi-robot assembly path planning method with time window genetic algorithm, and determine the shortest handling path based on the shortest path planning method, and finally determine the task travel time based on the task travel time prediction method, and go to step 6.6;

[0159] When m is less than or equal to M, it is necessary to judge the mth idle collaborative robot group. Assume that T k Assigned to the mth idle collaborative robot group, because the collaborative task path planning includes assembly path planning and transport path planning, it is necessary to determine the assembly path based on the multi-robot assembly path planning method with time window genetic algorithm, and determine the shortest transport path based on the shortest path planning method. After determining the path, it is necessary to calculate the time spent on this task journey as the performance criterion of the mth idle collaborative robot group, so finally determine the task journey time based on the task journey time prediction method and enter step 6.6;

[0160] In the embodiment of the present invention, the assembly path planning is the path planning of each robot in the idle collaborative robot group from its current position to the task loading point. The transport path planning is the path planning of the idle collaborative robot group from the task loading point to the task unloading point.

[0161] In the embodiment of the present invention, the shortest path planning method includes but is not limited to A * algorithm, Floyd algorithm, Dijkstra algorithm.

[0162] In an embodiment of the present invention, a task travel time prediction method includes a task travel time prediction method based on an empirical formula and a task travel time prediction method based on a neural network. The task travel time is affected by factors such as the priority of the task, the robot number assigned to the task, the execution order of the task on the robot, the path information of the robot, the task information being executed by the robot, the task level, and the task type.

[0163] It should be noted that the specific process of the task travel time prediction method based on the empirical formula and the task travel time prediction method based on the neural network is not the focus of the present invention, so it will not be repeated. If necessary, please refer to the Chinese invention patent with publication number CN114911198A and application number 202410389402.9.

[0164] Step 6.8: Determine whether there is a matching idle robot. If so, proceed to step 6.9. Otherwise, wait for the next round of scheduling and proceed to step 6.12.

[0165] When the kth task T kIf it is not a collaborative task, that is, a multi-load task or a single-load task, determine whether there is a matching idle robot. If there is a matching idle robot, go to step 6.9; if there is no matching idle robot, wait for the next round of scheduling and go to step 6.12. When there is a matching idle robot in the next round, the task will be assigned and the path planned.

[0166] Step 6.9: Determine the number M of matching idle robots, and set the matching idle robot sequence number m=1;

[0167] When there is a matching idle robot, get a suitable task T k To find the optimal idle robot, we first need to determine the number of matching idle robots M and judge the matching idle robots in turn. First, set the matching idle robot sequence m = 1, and start from the first matching idle robot, and judge the performance of the matching idle robots in turn.

[0168] Step 6.10: Determine whether m is less than or equal to M. If so, proceed to step 6.11. Otherwise, set T k Assign the idle robot with the shortest mission travel time to the task and proceed to step 6.12;

[0169] It is necessary to ensure that all matching idle robots are judged, so it is necessary to judge whether m is less than or equal to M. If m is less than or equal to M, the judgment of all matching idle robots has not been completed, and go to step 6.11 to continue to judge the mth matching idle robot; if m is greater than M, the judgment of all matching idle robots is completed, and go to step 6.12 to select the most suitable idle robot.

[0170] Step 6.11: Assume that T k Assign to the mth matching idle robot, then determine the shortest path based on the shortest path planning method, and finally determine the task travel time based on the task travel time prediction method, and go to step 6.10;

[0171] When m is less than or equal to M, it is necessary to judge the mth matching idle robot. Suppose T k Assigned to the mth matching idle robot, because the path planning of the multi-load task only needs to determine the transport path planning, so the shortest transport path is determined based on the shortest path planning method. After determining the path, it is necessary to calculate the time spent on this task journey as the criterion for judging the performance of the mth matching idle robot, so finally determine the task journey time based on the task journey time prediction method and go to step 6.11;

[0172] It should be noted that the path planning of multi-load tasks must take into account the relationship between subtasks.

[0173] Step 6.12: Task number k in the allocatable task set = k+1, go to step 6.2;

[0174] When the judgment of a task is completed or the task allocation and path planning of a task are completed, the task sequence number k=k+1 in the task set can be assigned, and step 6.2 is entered to continue the judgment of the next task.

[0175] Step 6.13: Obtain the task allocation plan and path plan, and update the system status, including the path occupancy status of the system, the status of the robot, the task status, the workstation buffer status, etc.

[0176] When the judgment of all tasks is completed, the task allocation plan and path plan of the assignable task set are obtained, and the system status is updated.

[0177] It should be noted that when there is no matching idle robot or idle robot group for a task in the assignable task set, there is no task assignment plan or path plan for the task, and the task can only wait for the next round of scheduling.

[0178] In step 6.7, the multi-robot assembly path planning method with time window genetic algorithm includes the following steps:

[0179] Step 6.71: Individual coding design. The chromosome of the assembly path of the collaborative robot group adopts a hierarchical coding method, and the number of sub-chromosomes is determined according to the number of robots in the collaborative robot group. Each sub-chromosome is a path string of a collaborative robot, and the gene of the sub-chromosome is a path node on the path string.

[0180] For the multi-robot assembly path planning problem with a time window genetic algorithm, the individual coding design method is as follows: the chromosome of the assembly path of the collaborative robot group adopts a hierarchical coding method, and the number of sub-chromosomes is determined according to the number of robots in the collaborative robot group. Each sub-chromosome is a path string of a collaborative robot, and the genes of the sub-chromosome are path nodes on the path string. The length of each sub-chromosome is variable, but the starting point and end point are determined by the current position and target position of the robot, and the coding of each sub-chromosome must not produce a closed loop, that is, the robot's running path is a one-way loop-free path.

[0181] Step 6.72: Population initialization. Determine the first and last genes of the chromosome according to the robot's initial position and the task point position. Then query the path network information of the host computer and the constraints of the host computer's traffic management. Starting from the initial point, select any next node that can be reached as the next gene until the target node is found. If a loop appears, restart the search until a one-way path without loops is found. The population size is proportional to the number of robots in the collaborative robot group.

[0182] Initialize the population according to the individual coding design method. First, determine the number of sub-chromosomes according to the number of robots in the collaborative robot group, and determine the first and last genes of the chromosome according to the initial position and task point position of the robot; then query the path network information of the host computer and the constraints of the host computer traffic management, starting from the initial point, select any next node that can be reached as the next gene until the target node is found; finally, check whether a loop is generated during the search process, that is, the path node that has been traversed before is found. If a loop occurs, restart the search until a one-way path without loops is found; repeat the above steps P s times, the number of individuals generated is P s The initial population. The population size P s Proportional to the number of robots in the collaborative robot group.

[0183] Step 6.73: Individual evaluation, take the assembly time as the fitness function, and then sort all individuals in the population according to fitness. The assembly time is calculated by the average speed of the robot, the path length, the congestion time, etc. The longer the assembly time, the lower the fitness value;

[0184] Each individual is evaluated, and the assembly time is used as the fitness function. Then all individuals in the population are sorted according to fitness. The assembly time is calculated by the average speed of the robot, the path length, the congestion time, etc. The longer the assembly time, the lower the fitness value;

[0185] In the embodiment of the present invention, the assembly time is the time taken by all robots in the collaborative robot group to reach the assembly point from their own positions, that is, the interval from the start of the assembly to the time when the last robot arrives at the assembly point.

[0186] It should be noted that before iteration, the congestion time of individuals in the initial population needs to be calculated using the time window.

[0187] Step 6.74: Selection operation: Roulette selection method is used for selection operation. All individuals in the population are arranged in ascending order of fitness. The probability of each individual being selected is proportional to its fitness. Then, two individuals are selected from the parent population each time to enter the crossover mutation operation.

[0188] After the fitness calculation is completed, the selection operation is performed. The roulette wheel selection method is used for the selection operation. All individuals in the population are arranged in ascending order of fitness. The probability of each individual being selected is proportional to its fitness. Then, two individuals are selected from the parent population each time to enter the crossover mutation operation. The number of selections is equal to half of the number of offspring required.

[0189] Step 6.75: Crossover operation, crossover probability is P c The specific operation is: from two parent individuals F1 and F 2 Select the worst sub-chromosome from the 1 The worst sub-chromosome is F 2 Replace the corresponding sub-chromosome in F 2 The worst sub-chromosome is F 1 The corresponding sub-chromosomes in are replaced, thus obtaining two offspring;

[0190] After selecting individuals according to the roulette wheel selection method, a crossover operation is performed. The crossover operation is to extract some genes from the individuals of the two parent generations, replace them with each other, and recombine them to generate new individuals in order to increase the richness of individual genes. Whether the crossover operation is performed is determined by the crossover probability P c . Since the chromosome is composed of multiple independent sub-chromosomes, the conventional single-point or double-point crossover mode cannot be used. In order to ensure that the time difference between the robots reaching the gathering point is not too large, it is necessary to ensure that the target values ​​of all sub-chromosomes are relatively close. An average crossover mode is proposed. The basic idea of ​​this crossover mode is to ensure that the evaluation value of the chromosome is relatively average, and there will be no sub-chromosomes with particularly low evaluation values, which will slow down the overall gathering time. The specific operation is: from the two parent individuals F 1 and F 2 Select the worst sub-chromosome from the 1 The worst sub-chromosome is F 2 Replace the corresponding sub-chromosome in F 2 The worst sub-chromosome is F 1 The corresponding daughter chromosomes are replaced to obtain two offspring.

[0191] Step 6.76: Crossover operation, mutation probability is P m ,The specific operation is as follows: randomly select a gene from each sub-chromosome, and then replace it with a new path node position. If the mutated node cannot be connected to the initial path, search for nodes on the unconnected sub-path segment and add nodes to make it connected. If the mutated node overlaps with the initial path, delete the node between the mutated point and the overlapping point and reselect;

[0192] After the crossover operation obtains two offspring, the crossover operation is performed on the two offspring. Whether the mutation operation is performed is determined by the mutation probability P. m The specific operation is: randomly select a gene from each sub-chromosome, and then replace it with a new path node position. If the mutated node cannot be connected to the initial path, search for nodes on the unconnected sub-path segment, add nodes to make it connected, and if the mutated node coincides with the initial path, delete the nodes between the mutated point and the coincident point and reselect;

[0193] Step 6.77: Based on the time window adjustment, predict whether the robots will conflict. If a conflict occurs, choose a method with a shorter collective time from the delayed time window method and the local path replanning method to avoid the conflict;

[0194] The initial population and the population after crossover mutation need to adjust the time window to solve the problem of interference or deadlock during robot operation. It is necessary to predict whether the robot will conflict based on the path of the individual plan of the crossover mutation population. If a conflict occurs, choose a method with a shorter collection time from the delay time window method and the local path replanning method to avoid the conflict;

[0195] In the embodiment of the present invention, the delayed time window method is to make the robot wait at the intersection when a conflict occurs, so that the robot's time window moves backward, thereby avoiding the time window conflict. The local path replanning method is to replan a sub-path from the forward node of the conflicting path to the target point when a conflict occurs, and then integrate the sub-path with the path before the conflict occurs in the initial path to obtain a complete path.

[0196] It should be noted that the delayed time window method or the local path replanning method can also be directly sampled, or other methods, such as the repath planning method, can be used to sort according to the total time to reach the assembly point, and give priority to repath planning for the robot with the longest assembly time.

[0197] Step 6.78: Elite retention strategy: after the parent population undergoes selection, crossover and mutation operations, a new offspring population is obtained, which is merged with the parent population to obtain a candidate population. Half of the excellent individuals in the candidate population need to be selected according to fitness ranking as the elite individuals to be retained;

[0198] After the population is cross-translated, the parent and offspring are selected according to the elite retention strategy. The specific operation is: after the parent population is selected, cross-translated and mutated, a new offspring population is obtained, which is merged with the parent population to obtain a candidate population. It is necessary to select half of the excellent individuals in the candidate population according to the fitness ranking as the elite individuals to be retained, and also as the parent population of the next generation.

[0199] Step 6.79: Iteration termination condition, determine whether the iteration termination condition is met. If so, end the iteration and output the optimal solution. Otherwise, go to step 6.73 and continue iterating.

[0200] After each iteration, it is necessary to determine whether the iteration termination condition is met. If the iteration termination condition is met, the iteration is terminated and the optimal solution, that is, the optimal assembly path solution, is output; if the iteration termination condition is not met, go to step 6.73 and continue iterating.

[0201] In the embodiment of the present invention, the iteration termination conditions include reaching a set number of iterations or the optimal solution being continuous N times. e The generation remains unchanged.

[0202] It should be noted that the iteration end condition may also adopt one or more of the above rules, or may adopt rules other than the above rules.

[0203] The above description is only a preferred embodiment of the present invention. It should be pointed out that a person skilled in the art can make several improvements without departing from the principle of the present invention, and these improvements should also be regarded as within the protection scope of the present invention.

Claims

1. A collaborative scheduling method for heterogeneous robot systems with diverse components, characterized in that: The steps include: Step 1: Determine whether the heterogeneous robot system meets the task triggering conditions. If so, obtain the task information in the system and proceed to step 2. Otherwise, loop judgment; Step 2: Determine whether the system's set of tasks to be assigned is not empty. If so, proceed to step 3; otherwise, proceed to step 1. Step 3: Determine whether the idle robot set of the system is not empty; if so, proceed to step 4, otherwise proceed to step 1; Step 4: Determine the allocatable task set according to the buffer deadlock strategy of the heterogeneous robot system; Step 5: Determine the execution order of tasks in the allocable task set according to the task priority adjustment rules of the heterogeneous robot system; Step 6: According to the dynamic task allocation method of the heterogeneous robot system, the task allocation plan and the path plan are determined at the same time, and the robot starts to execute the task according to the task allocation plan and the path plan; Step 7: The robot determines whether a conflict occurs during the execution of the task. If so, it proceeds to step 8, otherwise it proceeds to step 9; Step 8: Avoid collision according to the traffic control strategy of the heterogeneous robot system; Step 9: Determine whether the robot has completed a task. If so, update the system status and go to step 10. Otherwise, the robot continues to perform the task and goes to step 7. Step 10: Determine whether the robot has unfinished tasks. If the robot continues to perform tasks, go to step 7; otherwise, go to step 11. Step 11: According to the idle robot scheduling rules, complete the idle robot scheduling, update the system status, and go to step 1; The heterogeneous robot system is a system composed of robots with different functions and robots with different load capacities, including single-load robots, multi-load robots and collaborative robots, wherein the single-load robot is a robot that loads a single or multiple loads from a single loading point and then unloads a single or multiple loads at a single unloading point in one mission; Multi-load robots are used to load a single or multiple loads from multiple loading points, or to unload a single or multiple loads from multiple unloading points in one mission; The collaborative robot is a robot that needs to cooperate with other robots to carry a task from a loading point to an unloading point. In step 4, the buffer deadlock strategy of the heterogeneous robot system includes the following steps: Step 4.1: Determine the total number of robots N in the heterogeneous robot system, and set the robot serial number to i, i = 1...N; Step 4.2: Set the robot serial number i=1 and the number of active robots in the system j=0; Step 4.3: Determine whether i is less than or equal to N. If so, proceed to step 4.4, otherwise proceed to step 4.8; Step 4.4: Determine whether the i-th robot Ri has an assigned and unfinished task. If so, proceed to step 4.

5. Otherwise, the number of active robots in the system j=j+1, the robot serial number i=i+1, and proceed to step 4.

3. Step 4.5: Determine whether the robot Ri is a multi-load robot. If so, proceed to step 4.6; otherwise, proceed to step 4.7; Step 4.6: Determine whether the remaining capacity of the target workstation of any assigned and unfinished task of robot Ri is less than 0. If so, robot Ri is a blocked robot, robot serial number i=i+1, and go to step 4.

3. Otherwise, the number of active robots in the system j=j+1, robot serial number i=i+1, and go to step 4.

3. Step 4.7: Determine whether the remaining capacity of the target workstation to which the robot Ri is assigned and has not completed the task is less than 0. If so, the robot Ri is a blocked robot, the robot serial number i=i+1, and the process goes to step 4.

3. Otherwise, the number of active robots in the system j=j+1, the robot serial number i=i+1, and the process goes to step 4.

3. Step 4.8: After the robot status judgment in the heterogeneous robot system is completed, determine whether the number of active robots j in the system is greater than 1. If so, select the appropriate task according to the task priority, otherwise, go to step 4.9; Step 4.9: Determine whether the number j of active robots in the system is equal to 1. If so, it is forbidden to assign dangerous tasks to the only active robot. Otherwise, the number j of active robots in the system is 0, and the system has a buffer deadlock, requiring manual intervention; In step 5, the task priority adjustment rule of the heterogeneous robot system is to determine the task priority based on the weighted value of the task type, the initial priority and the waiting time. The larger the weighted value, the higher the priority. The priority of the task type is collaborative task > multi-load task > single-load task; the initial priority is determined by the deadline of the task. The closer the task is to the deadline, the higher the priority; the waiting time of the task is the current time minus the task generation time. The longer the waiting time of the task, the higher the priority; In step 6, the method for dynamically allocating tasks of a heterogeneous robot system includes the following steps: Step 6.1: Obtain the task execution order Ω=(T1, T2, …, T k ,…T n ), set the task number k in the allocatable task set to 1; Step 6.2: Determine whether k is less than or equal to n. If so, proceed to step 6.3; otherwise, proceed to step 6.

13. Step 6.3: Determine the kth task T in the allocable task set k Is it a collaborative task? If yes, go to step 6.4; otherwise, go to step 6.8; Step 6.4: Determine whether there is an idle collaborative robot group. If so, proceed to step 6.

5. Otherwise, wait for the next round of scheduling and proceed to step 6.

12. Step 6.5: Determine the number M of idle collaborative robot groups, and set the sequence number m of the idle collaborative robot group to 1; Step 6.6: Determine whether m is less than or equal to M. If so, proceed to step 6.

7. Otherwise, set T k Assign to the idle collaborative robot group with the shortest task travel time and go to step 6.12; Step 6.7: Assume that T k Assign it to the mth idle collaborative robot group, then determine the assembly path based on the multi-robot assembly path planning method with time window genetic algorithm, and determine the shortest handling path based on the shortest path planning method, and finally determine the task travel time based on the task travel time prediction method, and go to step 6.6; Step 6.8: Determine whether there is a matching idle robot. If so, proceed to step 6.

9. Otherwise, wait for the next round of scheduling and proceed to step 6.

12. Step 6.9: Determine the number M of matching idle robots, and set the matching idle robot sequence number m=1; Step 6.10: Determine whether m is less than or equal to M. If so, proceed to step 6.

11. Otherwise, set T k Assign the idle robot with the shortest mission travel time to the task and proceed to step 6.12; Step 6.11: Assume that T k Assign to the mth matching idle robot, then determine the shortest path based on the shortest path planning method, and finally determine the task travel time based on the task travel time prediction method, and go to step 6.10; Step 6.12: Task number k in the allocatable task set = k+1, go to step 6.2; Step 6.13: Obtain the task allocation plan and path plan, and update the system status; In step 8, the traffic control strategy of the heterogeneous robot system is to select an appropriate conflict avoidance method according to the type of conflict. When a overtaking conflict occurs, side shifting, path planning, and manual intervention methods are used. When the two guiding paths are close to each other and cause a robot turning space conflict, the path segments that may collide due to their close proximity are regarded as a virtual intersection, and then the intersection QR code positioning and semaphore mutual exclusion mechanism collision avoidance method is used to ensure that when one robot is turning, there is no robot in the interference position of the other path segment. When the robot occupies the intersection because there is no remaining space in the path segment to be entered, thereby hindering other traffic, it is necessary to consider whether the remaining length of the path segment to be entered is sufficient and whether it will occur before entering the intersection. Loop deadlock: If there is insufficient space or it may cause loop deadlock, the robot will be temporarily prohibited from entering the corresponding path segment and its associated intersection, so as to avoid the intersection being occupied by it for a long time and affecting the passage of other robots. When the collaborative task occupies the lane space and affects other lanes, the affected lane will be temporarily closed to restrict other robots from entering. The restriction will be lifted after the collaborative task is passed. When two robots have a motion conflict due to their intention to pass through the same intersection at the same time, in order to avoid the conflict, the passage order must first be set, and then the robots pass in turn according to the passage order. The passage order of the robots is determined by the type of task performed by the robot, the remaining travel time of the task, the path segment space occupied by the robot, the traffic flow of the path segment, and the traffic flow of the next path segment. In step 11, the idle robot scheduling rule is that when the robot completes the task, it determines whether the robot's power is lower than the threshold. If it is lower than the threshold, it goes to a suitable charging area for charging. Otherwise, according to the type of robot, it goes to the nearest docking point where robots of this type can dock and waits for the next task assignment.

2. A method for collaborative scheduling of heterogeneous robot systems for diversified components according to claim 1, characterized in that: In step 6.7, the multi-robot assembly path planning method based on a genetic algorithm with a time window includes the following steps: Step 6.71: Individual coding design. The chromosome of the assembly path of the collaborative robot group adopts a hierarchical coding method, and the number of sub-chromosomes is determined according to the number of robots in the collaborative robot group. Each sub-chromosome is a path string of a collaborative robot, and the gene of the sub-chromosome is a path node on the path string. Step 6.72: Population initialization. Determine the first and last genes of the chromosome according to the robot's initial position and the task point position. Then query the path network information of the host computer and the constraints of the host computer's traffic management. Starting from the initial point, select any next node that can be reached as the next gene until the target node is found. If a loop appears, restart the search until a one-way path without loops is found. The population size is proportional to the number of robots in the collaborative robot group. Step 6.73: Individual evaluation, take the assembly time as the fitness function, and then sort all individuals in the population according to fitness. The assembly time is calculated by the average speed, path length, and congestion time of the robot. The longer the assembly time, the lower the fitness value. Step 6.74: Selection operation: Roulette selection method is used for selection operation. All individuals in the population are arranged in ascending order of fitness. The probability of each individual being selected is proportional to its fitness. Then, two individuals are selected from the parent population each time to enter the crossover mutation operation. Step 6.75: Crossover operation, crossover probability is P c , the specific operation is: select the worst sub-chromosome from the two parent individuals F1 and F2, then replace the worst sub-chromosome in F1 with the corresponding sub-chromosome in F2, and replace the worst sub-chromosome in F2 with the corresponding sub-chromosome in F1, so as to obtain two offspring; Step 6.76: Crossover operation, mutation probability is P m ,The specific operation is as follows: randomly select a gene from each sub-chromosome, and then replace it with a new path node position. If the mutated node cannot be connected to the initial path, search for nodes on the unconnected sub-path segment and add nodes to make it connected. If the mutated node overlaps with the initial path, delete the node between the mutated point and the overlapping point and reselect; Step 6.77: Based on the time window adjustment, predict whether the robots will conflict. If a conflict occurs, choose a method with a shorter collective time from the delayed time window method and the local path replanning method to avoid the conflict; Step 6.78: Elite retention strategy. After the parent population undergoes selection, crossover and mutation operations, a new offspring population is obtained, which is merged with the parent population to obtain a candidate population. Half of the excellent individuals in the candidate population need to be selected according to fitness ranking as the elite individuals to be retained. Step 6.79: Iteration termination condition, determine whether the iteration termination condition is met. If so, end the iteration and output the optimal solution. Otherwise, go to step 6.73 and continue iterating.

3. A method for collaborative scheduling of heterogeneous robot systems for diversified components according to claim 1, characterized in that: The task travel time prediction method includes a task travel time prediction method based on an empirical formula and a task travel time prediction method based on a neural network. The task travel time is affected by factors such as the priority of the task, the robot number assigned to the task, the execution order of the task on the robot, the path information of the robot, the task information being executed by the robot, the task level, and the task type.

4. The method for collaborative scheduling of heterogeneous robot systems for diversified components according to claim 1, characterized in that: The path plan is the assembly path determined by the multi-robot assembly path planning method with a time window genetic algorithm during the task allocation process, or the shortest transportation path obtained based on the shortest path planning method, wherein the collaborative task path plan includes the assembly path and the transportation path, and the multi-load task path plan needs to simultaneously consider the path of each subtask on the multi-load robot and the sequential relationship between the subtasks.

Citation Information

Patent Citations

  • AGV system task scheduling method based on task travel time prediction

    CN114911198A

  • Heterogeneous robot system task travel time prediction method based on artificial intelligence

    CN118585296A

  • Heterogeneous unmanned aerial vehicle cooperative task assignment method taking time window into account

    CN107515618A

  • Anti-deadlock scheduling method for OHT carrying system

    CN114035522A

  • Task scheduling optimization method for multi-load automatic guided vehicle system

    CN115857436A