Robot cluster scheduling method, device and equipment

By planning and updating the initial task route of the robot cluster, the problems of high complexity and high communication overhead in the existing technology are solved, more efficient computing and communication are achieved, and the scalability and robustness of cluster scheduling are improved.

CN119902446AActive Publication Date: 2025-04-29XIAN DASHENG TECH CO LTD

Patent Information

Application Number
CN202510360736.8
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-03-26
Publication Date
2025-04-29
Estimated Expiration
2045-03-26

AI Technical Summary

Technical Problem

The existing robot cluster scheduling methods are complex and have high communication overhead, resulting in high server pressure.

Method used

By obtaining the cluster information and task information of the robot cluster, planning the initial task route, and determining whether there is a conflict between the routes, updating the constraints at the conflict, re-planning the route until the global optimal route is obtained.

Benefits of technology

Reduces computational complexity, reduces communication overhead, improves the scalability and fault tolerance of the solution, reduces server pressure, and improves robustness.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119902446A_ABST
    Figure CN119902446A_ABST
Patent Text Reader

Abstract

The invention discloses a robot cluster scheduling method, device and equipment, and relates to the technical field of cluster scheduling, and the method comprises the steps: obtaining the cluster information and task information of a robot cluster; executing a task planning step until no conflict exists between the initial task routes, and obtaining a global optimal route; wherein the task planning step comprises the steps of planning an initial task route for the robot according to cluster information and task information; traversing the initial task routes, and judging whether conflicts exist among the initial task routes or not; if conflicts exist among the initial task routes, the constraint conditions at the conflicts are updated; the task planning step is executed again for the robot corresponding to the initial task route with the updated constraint condition; and scheduling the robot cluster to execute the task based on the global optimal route. The problems of high complexity and high communication overhead of a robot cluster scheduling method in the prior art are solved. Therefore, the pressure of the server is reduced, and the robustness of the scheme is improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of cluster scheduling technology, and in particular to a method, apparatus and equipment for robot cluster scheduling. Background Technology

[0002] Robot swarm scheduling refers to the unified management and coordination of multiple robots forming a swarm, enabling them to move in a coordinated manner within the same space and complete their respective tasks without collisions. Common robots include industrial robots (articular robots, Cartesian robots, etc.) used in manufacturing and production processes, service robots for home cleaning and companionship (companion robots, educational robots, restaurant service robots, etc.), medical robots for medical treatment (surgical robots, rehabilitation robots, remote diagnostic robots, etc.), and agricultural robots for agricultural production (planting robots, harvesting robots, drone spraying systems, etc.), among others.

[0003] In the process of these robots performing tasks, multiple aspects need to be considered, including task allocation, path planning, obstacle avoidance, and communication for each robot. Existing robot swarm scheduling methods mainly include: centralized scheduling, distributed scheduling, genetic algorithm scheduling, and reinforcement learning scheduling. Centralized scheduling involves a central scheduler collecting the state information of all robots and optimizing task allocation and path planning globally based on this information. However, this method is highly dependent on the central scheduler, prone to single points of failure, and the large amount of data processed by the central scheduler affects the response speed and efficiency of the entire swarm. Furthermore, this scheduling method has high communication overhead, requiring all robots to send their state information to the central scheduler in real time, increasing the burden and latency of the communication network. In distributed scheduling, each robot is autonomous, completing tasks through its own local communication; even if some robots fail, others can continue working. However, each robot can only make decisions based on local information, making it difficult to achieve a globally optimal solution. Genetic algorithm scheduling optimizes task allocation and path planning by simulating the processes of natural selection and genetic mutation, finding approximate optimal solutions without prior knowledge. However, genetic algorithm scheduling requires a long computation time because it needs to simulate multiple generations of evolution. Reinforcement learning scheduling methods enable robots to learn optimal strategies through interaction with their environment to complete tasks. They can adapt to dynamically changing environments and task requirements, but require a large amount of training data and time.

[0004] In summary, existing robot swarm scheduling methods are highly complex and have significant communication overhead, resulting in heavy server load. Summary of the Invention

[0005] This application provides a robot swarm scheduling method, apparatus, and device, which solves the problems of high complexity and large communication overhead in existing robot swarm scheduling methods.

[0006] In a first aspect, embodiments of this application provide a robot swarm scheduling method, comprising: acquiring swarm information and task information of the robot swarm; wherein the task information includes task environment, obstacle information, task coordinates and constraints; executing a task planning step until there are no conflicts between the initial task routes, obtaining a globally optimal route; wherein the task planning step includes: planning initial task routes for the robots based on the swarm information and the task information; traversing the initial task routes and determining whether there are conflicts between the initial task routes; if there are conflicts between the initial task routes, updating the constraints at the conflict points; re-executing the task planning step for the robots corresponding to the initial task routes with updated constraints; and scheduling the robot swarm to perform tasks based on the globally optimal route.

[0007] In conjunction with the first aspect, in one possible implementation, the cluster information includes the number of robots in the robot cluster and the current position of each robot.

[0008] In conjunction with the first aspect, in one possible implementation, the step of planning an initial task route for the robot based on the cluster information and the task information includes: executing a priority planning step until the state sequence table is traversed to obtain the initial task route for each robot; wherein, the priority planning step includes: determining the current state and task coordinates of each robot based on the cluster information and the task information; wherein, the current state is represented as (x, y, t), (x, y) represents the current position, and t represents the current time step; determining the actual path cost and the estimated minimum cost of each robot based on the current state and the task coordinates; determining the current heuristic value based on the actual path cost and the estimated minimum cost; determining the current priority of each robot based on the current heuristic value, and storing the current state of the robot in the state sequence table in order of the current priority; determining the target state in the state sequence table, updating the target state based on the robot's actions, and updating the state sequence table based on the updated target state until the current position in the target state coincides with the task coordinates; and backtracking the state sequence table to obtain the initial task route of the robot corresponding to the target state.

[0009] In conjunction with the first aspect, in one possible implementation, before executing the priority planning step, the following steps are included: obtaining the initial state of each robot and performing a validity check on the initial state; setting the initial actual path cost of the initial state and predicting the initial predicted minimum cost of the initial state; calculating the initial heuristic value of the initial state based on the initial actual path cost; and placing the initial state and the initial heuristic value into the state sequence list.

[0010] In conjunction with the first aspect, in one possible implementation, updating the target state based on the robot's actions includes: defining a spatial action set for the robot based on all possible actions of the robot; traversing the spatial action set based on the target state to obtain multiple new positions; checking whether the new positions are within a valid range, and checking whether the new positions are constrained in the next time step of the current time step to determine the current action; and updating the target state based on the current action.

[0011] In conjunction with the first aspect, in one possible implementation, updating the target state based on the robot's actions further includes: determining the actual path cost of the updated target state; if the actual path cost of the updated target state is greater than or equal to the known optimal path cost to reach the current position of the updated target state, then reverting to the target state before the update; if the actual path cost of the updated target state is less than the known optimal path cost to reach the updated target state, then setting the target state before the update as the parent state of the updated target state.

[0012] In conjunction with the first aspect, in one possible implementation, determining whether there is a conflict between the initial task routes includes: traversing the initial task routes of all robots and detecting whether there are vertex conflicts and / or edge conflicts.

[0013] In conjunction with the first aspect, in one possible implementation, updating the constraints at the point of conflict if there is a conflict among the initial task routes includes: generating multiple child nodes based on each conflict and applying opposing constraints to each child node; updating the constraints of the corresponding robot according to the applied opposing constraints.

[0014] Secondly, embodiments of this application provide a robot swarm scheduling device, comprising: an acquisition module for acquiring swarm information and task information of the robot swarm; wherein the task information includes task environment, obstacle information, task coordinates, and constraints; a task planning module for executing task planning steps until there are no conflicts between the initial task routes, resulting in a globally optimal route; wherein the task planning steps include: planning initial task routes for the robots based on the swarm information and the task information; traversing the initial task routes and determining whether there are conflicts between the initial task routes; if there are conflicts between the initial task routes, updating the constraints at the conflict points; an update module for re-executing the task planning steps for the robots corresponding to the initial task routes with updated constraints; and a task module for scheduling the robot swarm to perform tasks based on the globally optimal route.

[0015] Thirdly, embodiments of this application provide an apparatus comprising: a processor; a memory for storing processor-executable instructions; wherein, when the processor executes the executable instructions, it implements the method as described in the first aspect or any possible implementation of the first aspect.

[0016] One or more technical solutions provided in the embodiments of this application have at least the following technical effects or advantages: This application's embodiment separates task route planning from route conflict judgment. After planning the initial task routes for all robots, conflict judgment is performed on all initial task routes. This separation of tasks reduces computational complexity, enhances the scalability of the solution, and eliminates the need for frequent communication between robots, reducing communication overhead. Task planning steps are only re-executed for robots with updated constraints, improving the solution's fault tolerance and reducing computational overhead. This effectively solves the problems of high complexity and large communication overhead in existing robot cluster scheduling methods. Furthermore, it reduces server load and improves the robustness of the solution. BRIEF DESCRIPTION OF THE DRAWINGS

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

[0018] Figure 1 A flowchart of a robot cluster scheduling method provided in an embodiment of this application; Figure 2A flowchart for determining the current state and task coordinates of a robot based on cluster information and task information, provided in an embodiment of this application; Figure 3 This is a schematic diagram of the structure of the robot cluster scheduling device provided in the embodiments of this application. DETAILED DESCRIPTION

[0019] The technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some, not all, of the embodiments of this invention. All other embodiments obtained by those skilled in the art based on the embodiments of this invention without creative effort are within the scope of protection of this invention.

[0020] The following description of some technologies involved in the embodiments of this application is provided to aid understanding and should be considered merely exemplary. Therefore, those skilled in the art should recognize that various changes and modifications can be made to the embodiments described herein without departing from the scope and spirit of this application. Similarly, for clarity and brevity, some descriptions of well-known functions and structures are omitted in the following description.

[0021] Figure 1 This is a flowchart of a robot swarm scheduling method provided in an embodiment of this application, including steps 101 to 106. Figure 1 This is merely one execution order shown in the embodiments of this application and does not represent the only execution order of the robot swarm scheduling method. Where the final result can be achieved, Figure 1 The steps shown can be performed in parallel or in reverse order.

[0022] Step 101: Obtain the cluster information and task information of the robot swarm. In this embodiment, the task information includes the task environment, obstacle information, task coordinates and constraints, and the cluster information includes the number of robots in the robot swarm and the current position of each robot.

[0023] Specifically, the task environment refers to the physical or virtual environment in which the robot performs the task, such as an outdoor environment or complex terrain, and also includes the boundary information of the task environment. Obstacle information mainly refers to static obstacles, including their position and size. Task coordinates are the position coordinates of the key points for completing the task. Constraints refer to the conditions that must be met during task execution, including time constraints (time to complete the task), robot performance constraints (battery power supply time), communication constraints (communication distance supported by the robot), safety constraints (robots must maintain a safe distance of at least 1 meter to avoid collisions), obstacle constraints (robot coordinates cannot coincide with fault coordinates), and boundary constraints (cannot exceed the boundary of the task environment).

[0024] Step 102: Plan the initial task route for the robot based on the cluster information and task information. In this embodiment, the specific implementation process of step 102 is as follows: Figure 2 As shown, steps 201 to 209 are included, as detailed below.

[0025] Step 201: Determine the current state and task coordinates of each robot based on the cluster information and task information. In this embodiment, the current state is represented as (x, y, t), where (x, y) represents the robot's current position and t represents the current time step.

[0026] In addition, before executing step 201, the following steps may be performed: Obtain the initial state of each robot and perform a validity check on the initial state; Set the initial actual path cost of the initial state and predict the initial predicted minimum cost of the initial state; Calculate the initial heuristic value of the initial state based on the initial actual path cost; Place the initial state and the initial heuristic value into the state sequence list.

[0027] Specifically, before starting the task, the initial state (x0, y0, 0) of each robot in the robot cluster is first obtained, where (x0, y0) represents the robot's current position at the initial moment (before task execution), i.e., the starting position. The current time step at the initial moment is set to 0 to ensure the consistency of the state of each robot, facilitating subsequent data processing. The initial state of each robot is then checked for validity, determining whether the starting position is on an obstacle; if so, an exception is thrown. Finally, the current time step is checked for overflow; if so, the task is terminated and marked as timeout.

[0028] This application exemplarily sets the initial actual path cost of the initial state to 0, and calculates the initial heuristic value of the initial state using the following formula: .

[0029] Where, Represents the initial heuristic value. The initial actual path cost represents the initial state (exemplarily set to 0 in this application). This represents a heuristic function whose calculation result represents the estimated minimum cost from the current state (current position n) to the task coordinates. This represents the estimated minimum cost from the initial state (initial position, n is 0) to the task coordinates. Then, the initial state and its corresponding initial heuristic value are stored in the state sequence list.

[0030] Step 202: Determine the actual path cost and estimated minimum cost of each robot based on its current state and task coordinates. In this embodiment, the actual path cost represents the actual cost of moving the robot from its initial state (starting position) to its current state (current position) (the sum of the costs of each location point traversed from the starting position to the current position), which is typically simplified to steps in a grid map (cost increases by 1 for each grid moved). Furthermore, the cost varies depending on the terrain. For example, the cost is 1 for flat land, 3 for swamp, and 5 for mountainous terrain.

[0031] The estimated minimum cost represents the minimum cost from the current state (current position) to the task coordinates predicted using a heuristic function. The heuristic function in this application is as follows: .

[0032] Where, This represents a heuristic function whose calculation result represents the estimated minimum cost from the current state (current position n) to the task coordinates. , ) represents the current position in the current state, ( , () represents the task coordinates, and t represents the current time step in the current state. This represents the experimental coefficient. An excessively large experimental coefficient will lead to detours, while an excessively small coefficient will fail to suppress waiting time. For example, in dynamic obstacle avoidance scenarios, the experimental coefficient is set to 0.05, allowing for a small amount of waiting; for time-sensitive tasks, the experimental coefficient is set to 0.2, strictly limiting waiting time. This experimental coefficient can be set by those skilled in the art according to the task scenario to avoid meaningless waiting (e.g., stalling and wasting time).

[0033] Step 203: Determine the current heuristic value based on the actual path cost and the estimated minimum cost. In this embodiment, the current heuristic value is represented by the sum of the actual path cost and the estimated minimum cost, as shown in the following formula: .

[0034] Where, This represents the current heuristic value of the current state (current position n). This represents the actual path cost (cumulative movement cost) from the initial state (starting position) to the current state (current position n). This represents a heuristic function whose calculation result represents the estimated minimum cost from the current state (current position n) to the task coordinates.

[0035] Step 204: Determine the current priority of each robot based on the current heuristic value, and store the current state of the robots in a state sequence list in order of current priority. In this embodiment, based on the calculated current heuristic value of each robot, current priorities are assigned to the robots in descending order of current heuristic value, with higher current heuristic values ​​indicating higher current priorities. Then, the current state of each robot is stored in a state sequence list in descending order of current priority.

[0036] Step 205: Determine the target state in the state sequence table, update the target state based on the robot's actions, and update the state sequence table based on the updated target state. In this embodiment, the current state with the highest priority in the state sequence table is determined as the target state, and an initial task route is first planned for the robot corresponding to the target state.

[0037] In this embodiment, updating the target state based on the robot's actions includes: defining a spatial action set for the robot based on all possible actions; traversing the spatial action set based on the target state to obtain multiple new positions; checking whether the new positions are within a valid range and whether they are constrained in the next time step after the current time step to determine the current action; and updating the target state based on the current action.

[0038] Specifically, all possible actions of the robot include: waiting in place, moving right, moving left, moving forward, and moving backward. All possible actions are represented by coordinates to filter out illegal movements, and the coordinates of all possible actions are stored in a spatial action set. The coordinates for waiting in place are represented as (0,0), moving right as (1,0), moving left as (-1,0), moving forward as (0,1), and moving backward as (0,-1).

[0039] Furthermore, based on the coordinate representation of each action in the spatial action set, four new positions for the current state are determined (when the action is to wait in place, the robot's current position does not change; however, in practical applications, the coordinate representations of all five actions in the spatial action set are traversed. Since the robot's current position was already determined in the previous update, the case of waiting in place is not considered here). The four new positions are then checked against the task information to determine if they are within the valid range (not exceeding the task area boundary and not sharing coordinates with a static fault). Additionally, the constraint of the new position in the next time step is checked, specifically whether it is subject to obstacle constraints and boundary constraints. If the new position is within the valid range and its next time step is unconstrained, the action corresponding to that new position is determined as the current action; otherwise, the current loop is exited. The target state is updated based on the current position and current time step of the determined current action (the current time step is determined by the location where the current action is performed; if the current action is performed on flat ground, the current time step is incremented by 1; if the current action is performed on swamp, the current time step is incremented by 3; if the current action is performed on mountainous terrain, the current time step is incremented by 5), thus obtaining the updated target state.

[0040] Furthermore, in this embodiment, the actual path cost of the updated target state can also be determined. If the actual path cost of the updated target state is greater than or equal to the known optimal path cost to reach the current position of the updated target state, then the target state before the update is reverted. If the actual path cost of the updated target state is less than the known optimal path cost to reach the updated target state, then the target state before the update is set as the parent state of the updated target state.

[0041] Specifically, based on the updated target state, its actual path cost is calculated. If the actual path cost of the updated target state is greater than or equal to the known (already explored by other robots) optimal path cost to reach the current position corresponding to the updated target state, the target state before the update is reverted, and no update is performed. If the actual path cost of the updated target state is less than the known (already explored by other robots) optimal path cost to reach the current position corresponding to the updated target state, an update is performed, and the target state before the update is set as the parent state of the updated target state. This avoids overlapping paths in the initial task routes of the same robot and prevents repeated exploration.

[0042] Furthermore, the known optimal path cost to reach the updated target state from the current position represents the lowest known path cost for the robot to explore from the previous current position to the updated current position, and is used as the optimal path cost. If the actual path cost of the robot's subsequent exploration from the previous current position to the updated current position is greater than the optimal path cost, the exploration fails, the current action is not executed, the robot remains at the previous current position (i.e., it reverts to the previous target state), and then redetermines the current action to be executed. If the actual path cost of the robot's subsequent exploration from the previous current position to the updated current position is less than the optimal path cost, the current actual path cost is used as the optimal path cost, and the update is executed.

[0043] Step 206: Determine whether the current position of the updated target state coincides with the task coordinates. In this embodiment, determining whether the current position of the updated target state coincides with the task coordinates is equivalent to determining whether the task coordinates have been reached. If the current position of the updated target state coincides with the task coordinates, proceed to step 207. If the current position of the updated target state does not coincide with the task coordinates, proceed to step 205 again.

[0044] Step 207: Backtrack the state sequence table to obtain the robot's initial task route corresponding to the target state. In this embodiment, when planning the initial task route, the current action to be performed at each current position is determined by exploring all possible actions of the target state at each current position. That is, the exploration is carried out position by position to achieve the initial task route planning. Therefore, the current time step of the later current position in the initial task route must be greater than the current time step of the previous current position. This application can backtrack according to the current time step of each target state stored in the state sequence table. Since the backtracked route is from the task coordinates to the starting position, it is necessary to reverse the route formed by the current positions of each backtracked target state to obtain the corresponding robot's initial task route.

[0045] Those skilled in the art should recognize that, in the state sequence table, the data for each robot is stored separately.

[0046] Furthermore, as can be seen from step 205, when updating the target state, the target state before the update will be set as the parent state of the target state after the update. Therefore, we can also backtrack from each child node to its corresponding parent node, and then reverse the current position in each backtracked node to obtain the initial task route of the corresponding robot.

[0047] Step 208: Determine if the state sequence table has been traversed completely. In this embodiment, before executing the priority planning step, the state sequence table stores the initial state of each robot. Therefore, when traversing the state sequence table, it is actually traversing based on the initial state (each initial state corresponds to one robot). When an initial state ends, it traverses to the next initial state with the highest current priority, until the entire state sequence table has been traversed. If the state sequence table has been traversed completely, then step 209 is executed; otherwise, steps 201 to 208 are executed again.

[0048] Step 209: Obtain the initial task route for each robot. In this embodiment, the initial task route for each robot is obtained by traversing the state sequence list.

[0049] Step 103: Traverse the initial task routes and determine whether there are conflicts between the initial task routes. In this embodiment, the initial task routes of all robots are traversed, and it is detected whether there are vertex conflicts and / or edge conflicts in the current position of each initial task route. A vertex conflict indicates that two or more robots occupy the same position in the task area at the same time. An edge conflict indicates that two or more robots exchange positions in adjacent time periods. For example, one robot moves from position A to position B in the first time period, and another robot moves from position B to position A in the first time period.

[0050] If there are conflicts between the initial task routes, proceed to steps 104, 102, and 103. If there are no conflicts between the initial task routes, proceed to steps 105 and 106, as follows.

[0051] Step 104: Update the constraints at the conflict point and determine the robot corresponding to the initial task route with updated constraints. In this embodiment, multiple child nodes are generated based on each conflict, and opposing constraints are applied to each child node. The constraints of the corresponding robot are updated according to the applied opposing constraints.

[0052] Specifically, if a vertex conflict exists, then at the point of the conflict (the same position occupied by multiple robots at the same time), a number of child nodes equal to the number of robots involved in the conflict are generated. For example, if robot 1 and robot 2 are both at position A at the first moment on their respective initial task paths, then two child nodes are generated at position A, and opposing constraints are imposed on these two child nodes. The constraint imposed on child node 1 is: robot 1 must not occupy position A at the first moment, and the constraint imposed on child node 2 is: robot 2 must not occupy position A at the first moment.

[0053] The opposing constraints are updated into the constraints of the involved robots, and the robots whose constraints are updated are identified. These robots are then treated as the current robot cluster, and steps 102 to 103 are executed. That is, only the initial task routes of the robots whose constraints have been updated are updated, while the initial task routes of the remaining robots remain unchanged, to reduce unnecessary redundant calculations.

[0054] Step 105: Obtain the globally optimal route. In this embodiment, if the initial task routes of each robot do not conflict, the globally optimal route is obtained.

[0055] Step 106: Schedule the robot cluster to execute tasks based on the globally optimal route. In this embodiment, based on the obtained globally optimal route, the robots are scheduled to execute tasks according to their respective initial task routes.

[0056] In this embodiment of the application, a two-dimensional environment with static obstacles and known area boundaries is used as the test environment (30). Using a 30-grid 2D grid, and employing robot swarms of varying sizes and obstacle rates, the computation time and communication overhead of existing robot path planning methods are compared with those of the path planning method described in this application. This application exemplarily employs... The algorithm is compared with the method in this application.

[0057] Specifically, The computational complexity of the algorithm in single-robot path planning tasks is: In path planning tasks involving multiple robots, other robots are treated as dynamic obstacles, increasing the computational complexity to [a certain level]. Where b represents the branching factor, d represents the path depth, and n represents the number of robots. The method in this application only needs to plan an initial path from the initial position to the target position based on the constraints of each robot before path planning. That is, the initial path must not coincide with the position of obstacles and must not exceed the boundary of the test environment. In the path planning task of a single robot, its computational complexity is O(n). In multiple robot path planning tasks, its computational complexity is... d represents the path depth, and n represents the number of robots. Based on the computational complexity of the two methods, it can be seen that, regardless of whether it's a single-robot mode or a multi-robot mode, the computational complexity of the method in this application is less than [a certain value]. The computational complexity of the algorithm.

[0058] Regarding the communication overhead during path planning The algorithm requires real-time exchange of position, speed, and other information between different robots, which is a high-frequency, small-packet communication method. Network pressure is relatively dispersed, and computational complexity and communication overhead increase with the size of the robot swarm. The method in this application does not require communication overhead during initial path planning. It only needs to plan paths based on the initial position, target position, and positions of static obstacles of each robot. After planning the initial paths for all robots, all initial paths need to be sent to the central scheduler for conflict resolution. Communication is only required at this stage, which is a low-frequency, large-packet communication method. Network pressure is relatively concentrated, and the communication overhead of this application is proportional to the number of iterations in the task planning step. Specific comparative data are shown in Table 1 below, where the data uses the average of five experiments.

[0059] Table 1 Comparison table of computation time and communication overhead between the algorithm and the method of this application.

[0060] As shown in the table above, the method in this application outperforms the method in terms of computation time and communication overhead for cluster sizes of 20 and 50 robots. The algorithm's computation time with 10 robots is shorter than... The algorithm is long, but its communication overhead is better than... The algorithm described in this application is applicable to large-scale scenarios with low real-time requirements, such as transport robots in factories.

[0061] While this application provides the method operation steps as described in the embodiments or flowcharts, more or fewer operation steps may be included based on conventional or non-inventive labor. The order of steps listed in this embodiment is merely one possible execution order among many and does not represent the only execution order. In actual device or client product execution, the methods shown in this embodiment or the accompanying drawings can be executed sequentially or in parallel (e.g., in a parallel processor or multi-threaded processing environment).

[0062] like Figure 3 As shown in the figure, this application embodiment also provides a robot cluster scheduling device 300. The device includes: an acquisition module 301, a task planning module 302, an update module 303, and a task module 304, as detailed below.

[0063] The acquisition module 301 is used to acquire cluster information and task information of the robot swarm. The task information includes the task environment, obstacle information, task coordinates, and constraints.

[0064] The task planning module 302 executes task planning steps until there are no conflicts between the initial task routes, resulting in a globally optimal route. The task planning steps include: planning initial task routes for the robot based on cluster information and task information; traversing the initial task routes and determining whether there are conflicts between them; and updating the constraints at the conflict points if conflicts exist.

[0065] The update module 303 is used to re-execute the task planning steps for the robot corresponding to the initial task route with updated constraints.

[0066] Task module 304 is used to schedule robot clusters to perform tasks based on globally optimal routes.

[0067] Some modules in the apparatus described in this application can be described in the general context of computer-executable instructions that are executed by a computer, such as program modules. Generally, program modules include routines, programs, objects, components, data structures, classes, etc., that perform a specific task or implement a specific abstract data type. This application can also be practiced in distributed computing environments where tasks are performed by remote processing devices connected via a communication network. In distributed computing environments, program modules can reside in local and remote computer storage media, including storage devices.

[0068] The apparatus or module described in the above embodiments can be implemented by a computer chip or physical entity, or by a product with a certain function. For ease of description, the above apparatus is described by dividing it into various modules according to their functions. When implementing the embodiments of this application, the functions of each module can be implemented in one or more software and / or hardware. Of course, a module that implements a certain function can also be implemented by combining multiple sub-modules or sub-units.

[0069] The methods, apparatus, or modules described in this application can be implemented in a computer-readable program code manner. The controller can be implemented in any suitable manner, such as a microprocessor or processor and a computer-readable medium storing computer-readable program code (e.g., software or firmware) executable by the (micro)processor, logic gates, switches, application-specific integrated circuits (ASICs), programmable logic controllers, and embedded microcontrollers. Examples of controllers include, but are not limited to, the following microcontrollers: ARC 625D, Atmel AT91SAM, Microchip PIC18F26K20, and Silicon Labs C8051F320. A memory controller can also be implemented as part of the control logic of a memory. Those skilled in the art will also recognize that, in addition to implementing the controller in purely computer-readable program code manner, the same functionality can be achieved by logically programming the method steps to make the controller take the form of logic gates, switches, application-specific integrated circuits, programmable logic controllers, and embedded microcontrollers. Therefore, such a controller can be considered a hardware component, and the means included within it for implementing various functions can also be considered as structures within the hardware component. Alternatively, the device used to implement various functions can be viewed as either a software module that implements the method or a structure within a hardware component.

[0070] This application also provides an apparatus, the apparatus comprising: a processor; a memory for storing processor-executable instructions; wherein, when the processor executes the executable instructions, it implements the method described in this application.

[0071] Furthermore, in the various embodiments of the present invention, each functional module can be integrated into a processing module, or each module can exist independently, or two or more modules can be integrated into a single module.

[0072] The aforementioned storage media include, but are not limited to, Random Access Memory (RAM), Read-Only Memory (ROM), Cache, Hard Disk Drive (HDD), or Memory Card. The memory can be used to store computer program instructions.

[0073] As can be seen from the above description of the embodiments, those skilled in the art can clearly understand that this application can be implemented by means of software plus necessary hardware. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, can be embodied in the form of a software product, or it can be embodied in the process of data migration. The computer software product can be stored in a storage medium, such as ROM / RAM, magnetic disk, optical disk, etc., and includes several instructions to cause a computer device (which may be a personal computer, mobile terminal, server, or network device, etc.) to execute the methods described in various embodiments or some parts of the embodiments of this application.

[0074] The various embodiments described in this specification are presented in a progressive manner. Similar or identical parts between embodiments can be referred to interchangeably. Each embodiment focuses on its differences from other embodiments. All or part of this application can be used in numerous general-purpose or special-purpose computer system environments or configurations. Examples include: personal computers, server computers, handheld or portable devices, tablet devices, mobile communication terminals, multiprocessor systems, microprocessor-based systems, programmable electronic devices, network PCs, minicomputers, mainframe computers, and distributed computing environments including any of the above systems or devices, etc.

[0075] The above embodiments are only used to illustrate the technical solutions of this application, and are not intended to limit this application. Although this application has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some or all of the technical features therein. Such modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the scope of the technical solutions of this application.

Claims

1. A robot cluster scheduling method, characterized in that: include: Acquire cluster information and task information of the robot cluster; wherein the task information includes task environment, obstacle information, task coordinates and constraint conditions; Execute the task planning steps until there is no conflict between the initial task routes and obtain the global optimal route; The task planning step includes: Planning an initial task route for the robot according to the cluster information and the task information; Traversing the initial task routes, and determining whether there is a conflict between the initial task routes; If there is a conflict between the initial task routes, updating the constraint conditions at the conflicting locations; Re-execute the task planning step for the robot corresponding to the initial task route with the updated constraint conditions; The robot cluster is scheduled to perform tasks based on the global optimal route.

2. The method according to claim 1, characterized in that The cluster information includes the number of robots in the robot cluster and the current position of each robot.

3. The method according to claim 1, characterized in that The planning of an initial task route for the robot according to the cluster information and the task information includes: Execute the priority planning step until the state sequence table is traversed and the initial task route of each robot is obtained; The priority planning steps include: Determine the current state and task coordinates of each robot according to the cluster information and the task information; wherein the current state is represented by (x, y, t), (x, y) represents the current position, and t represents the current time step; Determine the actual path cost and the estimated minimum cost of each robot according to the current state and the task coordinates; Determining a current heuristic value based on the actual path cost and the estimated minimum cost; Determine the current priority of each robot according to the current heuristic value, and store the current state of the robot in a state sequence table in order of the current priority; Determining a target state in the state sequence table, updating the target state based on the action of the robot, and updating the state sequence table based on the updated target state until the current position in the target state coincides with the task coordinates; The state sequence table is traced back to obtain the initial task route of the robot corresponding to the target state.

4. The method according to claim 3, characterized in that Before executing the priority planning step, the following steps are included: Obtaining the initial state of each robot and performing a legality check on the initial state; Setting an initial actual path cost of the initial state and predicting an initial predicted minimum cost of the initial state; Calculating an initial heuristic value of the initial state according to the initial actual path cost; Put the initial state and the initial heuristic value into the state sequence table.

5. The method according to claim 3, characterized in that: The updating of the target state based on the action of the robot comprises: Define the robot's spatial action set based on all possible actions of the robot; Traversing the spatial action set based on the target state to obtain multiple new positions; Check whether the new position is within a valid range, and check whether the new position is constrained in the next time step of the current time step to determine the current action; The target state is updated based on the current action.

6. The method according to claim 3, characterized in that The updating of the target state based on the action of the robot further includes: Determining an updated actual path cost of the target state; If the actual path cost of the updated target state is greater than or equal to the known optimal path cost to the current position of the updated target state, return to the target state before the update; If the actual path cost of the updated target state is less than the known optimal path cost to reach the updated target state, the target state before the update is set as the parent state of the updated target state.

7. The method according to claim 1, characterized in that The determining whether there is a conflict between the initial task routes includes: The initial task routes of all robots are traversed to detect whether there are vertex conflicts and / or edge conflicts therein.

8. The method according to claim 7, characterized in that If there is a conflict between the initial task routes, updating the constraint conditions at the conflicting locations includes: Generate multiple child nodes based on each conflict, and impose opposing constraints on each child node; According to the imposed opposing constraints, the constraint conditions of the corresponding robot are updated.

9. A robot cluster scheduling device based on the method according to any one of claims 1 to 8, characterized in that: include: An acquisition module, used to acquire cluster information and task information of the robot cluster; wherein the task information includes task environment, obstacle information, task coordinates and constraint conditions; The task planning module is used to execute the task planning steps until there is no conflict between the initial task routes and the global optimal route is obtained; The task planning step includes: Planning an initial task route for the robot according to the cluster information and the task information; Traversing the initial task routes, and determining whether there is a conflict between the initial task routes; If there is a conflict between the initial task routes, updating the constraint conditions at the conflicting locations; An updating module, configured to re-execute the task planning step for the robot corresponding to the initial task route with the updated constraint conditions; The task module is used to schedule the robot cluster to perform tasks based on the global optimal route.

10. A device for executing a robot cluster scheduling method, characterized in that: include: processor; a memory for storing processor-executable instructions; When the processor executes the executable instructions, the method according to any one of claims 1 to 8 is implemented.

Citation Information

Patent Citations

  • Multi-robot path planning method based on dynamic time window conflict search

    CN113311829A

  • Multi-agent path planning method, navigation server and readable storage medium

    CN114415690A

  • Multi-robot path planning method based on conflict classification search

    CN114967712A

  • Mobile robot path planning method and system based on conflicts

    CN115237135A

  • Multi-waypoint autonomous optimal path planning method based on improved A* algorithm

    CN116225020A

Cited By

  • Robot path planning method, device and system and readable storage medium

    CN121680373A