A Distributed Multi-Robot Scheduling Method, System and Storage Medium for Mobile Robots
By using the basic topology map and heat map to determine the type of conflict between the robots in the distributed multi-machine scheduling of mobile robots, and perform scheduling processing, the problem of inefficient multi-machine scheduling in the existing technology is solved, and more efficient scheduling and more flexible robot path planning are achieved.
Patent Information
- Application Number
- CN202510266019.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-03-07
- Publication Date
- 2025-06-24
- Estimated Expiration
- 2045-03-07
AI Technical Summary
The existing distributed multi-machine scheduling method of mobile robots fails to effectively analyze and handle the types of conflicts between robots, resulting in inefficient multi-machine scheduling.
By obtaining robot information in the basic topology map, generating heat maps and path maps, determining the types of conflicts between robots, and scheduling and processing according to different conflict types, improving scheduling efficiency.
It realizes accurate judgment and effective handling of robot conflict types, improves the efficiency of multi-machine scheduling, and increases the scheduling flexibility of robots.
Smart Images

Figure CN119759039B_ABST
Abstract
Description
Technical Field
[0001] The present invention belongs to the technical field of robot scheduling, and relates to a distributed multi-robot scheduling method, system and storage medium for mobile robots. Background Art
[0002] In order to enable multiple mobile robots to navigate in the environment, scheduling is required. In distributed scheduling methods, there is no need to transform the environment. It only needs to be equipped with a wireless transmission device on the robot body, and the information is disseminated to the surrounding by broadcasting. At the same time, the information broadcast by other robots is received, and the distributed scheduling of commercial robots can be realized through calculation. The distributed multi-robot scheduling of mobile robots is an important research direction in the field of robots, and has extensive applications especially in scenarios such as warehousing logistics, intelligent manufacturing, unmanned driving, search and rescue, etc. Its core goal is to enable multiple robots to efficiently and collaboratively complete tasks in a distributed environment through reasonable task allocation and path planning. In distributed multi-robot scheduling, the main challenge is how to plan conflict-free paths for each robot to avoid collisions or deadlocks. However, most of the existing methods do not analyze the types of conflicts, which to a certain extent affects the efficiency of multi-robot scheduling. Summary of the Invention
[0003] The purpose of the present invention is to provide a distributed multi-robot scheduling method, system and storage medium for mobile robots, which can judge the types of conflicts of robots, perform scheduling according to different types of conflicts, increase the scheduling flexibility of robots, and greatly improve the efficiency of multi-robot scheduling.
[0004] The technical solution to achieve the purpose of the present invention is as follows:
[0005] A distributed multi-robot scheduling method for mobile robots includes the following steps:
[0006] S01: Obtain a basic topological map through a priori map;
[0007] S02: Obtain robot information, where the robot information includes robot ID, map name, robot pose, and robot topological path, and obtain the projections of each robot in the basic topological map;
[0008] S03: Obtain a heat map and a path map for scheduling according to the basic topological map and robot information;
[0009] S04: Judge the types of conflicts of robots according to the projections of each robot in the basic topological map, and perform conflict handling according to the types of conflicts.
[0010] In a preferred technical solution, the method for generating the heat map in step S03 includes:
[0011] Obtain the pre-order set consisting of the pre-order topological points connected to each topological point in each path;
[0012] Obtain the post-order set consisting of the post-order topological points connected to this topological point in each path;
[0013] If the elements of the pre-order set are not the same, it means that this topological point has a conflict, and the conflict degree is represented by a heat value indicated, and the heat value is equal to the number of elements in the pre-order set; if the elements of the pre-order set appear in the post-order set, it means that this topological point has a conflict, the heat value is equal to the number of elements in the pre-order set, the heat value of the topological points without conflict in each path is 1, and the heat value of the topological points not passing through the robot path is 0.
[0014] In the preferred technical solution, the projection of each robot in the basic topological map obtained in step S02 includes:
[0015] Select the first two points of the path during the projection of the robot in the basic topological map. The first path point is , and the second path point is , and the projection point is ;
[0016] Calculate the ratio of the distance from the calculated projection point to the second path point to the two points, that is, <the first path point, the second path, ratio>, and the ratio is:
[0017] ;
[0018] Calculate the distance from the robot projection to the second path point of the path :
[0019] .
[0020] In the preferred technical solution, the conflict types in step S04 include:
[0021] Obtain the heat value of each topological point of the robot path in the heat map. Define the first point of the path as point 0, the second point as point 1, and the Nth point as point N-1. The judgment method of the conflict type is: a. If the heat values of all topological points in this robot path are 1, it is considered that the robot has no conflict; if the heat value of point 0 is greater than 1 and the heat values of the subsequent topological points are all equal to 1, it is considered that the robot has no conflict; b. If the heat value of point 0 is greater than 1 and the heat values of the subsequent topological points are greater than 1, it is considered that the robot is in conflict; c. If the heat value of point 0 is equal to 1 and the heat values of the subsequent topological points are greater than 1, it is considered that the robot is before the conflict;
[0022] Calculate the distance from the robot coordinate to the projection point , obtain the geometric relationship of the path formed by the robot with the first path point and the second path point in the basic topological map, and determine whether the robot is within or outside the path width;
[0023] Divide the conflict types according to whether the robot is within the path width. The conflict types include no-conflict state within the channel, pre-conflict state within the channel, conflict state within the channel, no-conflict state outside the channel, pre-conflict state outside the channel, and conflict state outside the channel.
[0024] In the preferred technical solution, the conflict handling according to the conflict type in step S04 includes:
[0025] Statistically analyze the conflict status of each robot. The robot within the path width obtains the set of robots passing through its path point. If the current robot has no conflict, it continues to execute the task. If there is a conflict, it determines the conflict type; if it is in the pre-conflict state, it determines the conflict type of other elements in the robot set. If there is another robot in the conflict state, it waits; if all robots are in the pre-conflict state, compare the distances of each robot from the conflict point, and the robot with the smallest distance executes the continue task, and the rest wait; the robot in the conflict state calculates its nearest scheduling point to plan the scheduling path. After calculating the path, compare the paths of each robot, and the shortest one executes the scheduling, and the others wait;
[0026] Among them, the scheduling point is defined as: starting from this topological point, at least three or more different topological points are connected, and the number of topological points that can be connected is and the distance from each topological point is greater than the threshold; the robot temporarily stops on the path connecting the scheduling point and the topological point, and the distance from the scheduling point is greater than the threshold;
[0027] The available scheduling points meet the following conditions: 1. There is no path pointing to this scheduling point in the path graph; 2. The number of robots temporarily parked at this scheduling point is less than .
[0028] In the preferred technical solution, the method for planning the scheduling path includes: in the basic topological map set the nodes and the cost value is jointly defined by the priority road weight function set by the user and the distance:
[0029] ;
[0030] Set the cost of the directed edge between the topological points arranged in sequence in the occupied sequence to infinity, and set the cost of the directed edge formed by the topological points whose distance from each robot is less than the threshold and the topological points connected to them to infinity, and the cost of the edge between other pairwise topological points is the distance;
[0031] The Dijkstra search method is adopted to start the breadth-first search with the projection of the robot on the topological map as the starting point until all feasible scheduling points on the entire map are searched, forming a set of scheduling points, and the topological paths for each robot to reach the scheduling points are calculated by the gradient descent method;
[0032] Calculate the cost of each path as ;
[0033] Find the scheduling point with the lowest cost in the set of scheduling points to obtain the scheduling path.
[0034] In the preferred technical solution, it also includes calculating the directed edges for scheduling docking, and the method includes:
[0035] Analyze the set composed of each topological point connected to the scheduling point. If the edge pointing from the topological point to the scheduling point is in the occupation sequence, then remove the topological point. Otherwise, determine that the directed edge for scheduling docking is the edge formed by the scheduling point and the topological point; if all topological points connected to the scheduling point are removed, it means that the scheduling point is invalid. Continue to select a scheduling point with a greater cost from the set of scheduling points and select the corresponding docking directed edge. If the scheduling path cannot be calculated, wait.
[0036] In the preferred technical solution, if a robot in conflict calculates a scheduling path and it is the shortest compared to the scheduling paths of other robots, then execute the scheduling and wait at the docking edge. Use the Dijkstra search to calculate its path to the target point in the basic topological map. If the heat values of all topological points in this path are 1, then the robot continues to run towards the target point; otherwise, stop. If a robot waiting at the docking edge blocks the operation of other robots, it is regarded as being in conflict, and recalculate the scheduling docking edge.
[0037] The present invention also discloses a distributed multi-robot scheduling system for mobile robots, including a processor, and the processor is built-in with the distributed multi-robot scheduling method for mobile robots described above.
[0038] The present invention also discloses a computer storage medium, on which a computer program is stored, and when the computer program is executed, it implements the above-mentioned distributed multi-robot scheduling method for mobile robots.
[0039] Compared with the prior art, the significant advantages of the present invention are:
[0040] According to the projections of each robot on the basic topological map, the heat map and the path map, the present invention can judge the types of conflicts of the robots and perform scheduling according to different conflict types, greatly improving the efficiency of multi-robot scheduling. Calculating the scheduling docking edges can increase the scheduling flexibility of the robots. Brief Description of the Drawings
[0041] Figure 1 It is a flowchart of a distributed multi-robot scheduling method for a mobile robot in a preferred embodiment;
[0042] Figure 2 It is a specific implementation flowchart of distributed scheduling in a preferred embodiment;
[0043] Figure 3 It is a basic topological map in a preferred embodiment;
[0044] Figure 4 It is a heat map in a preferred embodiment;
[0045] Figure 5 It is a path map in a preferred embodiment;
[0046] Figure 6 It is a projection schematic diagram in the basic topological map;
[0047] Figure 7 It is a schematic diagram for judging conflict conditions. Detailed Description of the Invention
[0048] The principle of the present invention is: according to the projections of each robot in the basic topological map, the heat map and the path map, the conflict types of the robots can be judged, and scheduling is carried out according to different conflict types, which greatly improves the efficiency of multi-robot scheduling. Calculating the scheduling docking edge can increase the scheduling flexibility of the robot.
[0049] Embodiment 1:
[0050] As Figure 1 shown, a distributed multi-robot scheduling method for a mobile robot includes the following steps:
[0051] S01: Obtain the basic topological map through the prior map;
[0052] S02: Obtain robot information, where the robot information includes robot ID, map name, robot pose, and robot topological path, and obtain the projections of each robot in the basic topological map;
[0053] S03: Obtain the heat map and path map for scheduling according to the basic topological map and robot information;
[0054] S04: Judge the conflict types of the robots according to the projections of each robot in the basic topological map, and perform conflict handling according to the conflict types.
[0055] In one embodiment, the method for generating the heat map in step S03 includes:
[0056] Obtain the predecessor set composed of the predecessor topological points connected to each topological point in each path;
[0057] Obtain the successor set composed of the successor topological points connected to this topological point in each path;
[0058] If the elements of the predecessor set are not the same, it means that this topological point has a conflict, and the conflict degree is represented by the heat value The heat value is equal to the number of elements in the predecessor set; if the elements of the predecessor set appear in the successor set, it means that this topological point has a conflict, and the heat value is equal to the number of elements in the predecessor set. The heat value of the topological point without conflict in each path is 1, and the heat value of the topological point not passing through the robot path is 0.
[0059] In one embodiment, the projection of each robot in the basic topological map obtained in step S02 includes:
[0060] Select the first two points of the path during the projection process of the robot in the basic topological map. The first path point is , and the second path point is , and the projection point is ;
[0061] Calculate the ratio of the distance from the calculated projection point to the second path point to the two points, that is, <the first path point, the second path, the ratio>, and the ratio is:
[0062] ;
[0063] Calculate the distance from the robot projection to the second path point of the path :
[0064] .
[0065] In one embodiment, the conflict types in step S04 include:
[0066] Obtain the heat value of each robot path topological point in the heat map. Define the first point of the path as point 0, the second point as point 1, and the Nth point as point N - 1. The judgment method of the conflict type is as follows: a. If the heat values of all topological points in this robot path are 1, it is considered that the robot has no conflict; if the heat value of point 0 is greater than 1 and the heat values of the subsequent topological points are all equal to 1, it is considered that the robot has no conflict; b. If the heat value of point 0 is greater than 1 and the heat values of the subsequent topological points are greater than 1, it is considered that the robot is in conflict; c. If the heat value of point 0 is equal to 1 and the heat values of the subsequent topological points are greater than 1, it is considered that the robot is before the conflict;
[0067] Calculate the distance from the robot coordinate to the projection point , obtain the geometric relationship of the path formed by the robot with the first path point and the second path point in the basic topological map, and determine whether the robot is within or outside the path width;
[0068] Divide the conflict types according to whether the robot is within the path width. The conflict types include no-conflict state within the channel, pre-conflict state within the channel, conflict state within the channel, no-conflict state outside the channel, pre-conflict state outside the channel, and conflict state outside the channel.
[0069] In the preferred technical solution, the conflict handling according to the conflict type in step S04 includes:
[0070] Statistically analyze the conflict status of each robot. The robot within the path width obtains the set of robots passing through its path point. If the current robot has no conflict, it continues to execute the task; if there is a conflict, it determines the conflict type. In the pre-conflict state, it determines the conflict type of other elements in the robot set. If there is another robot in the conflict state, it waits; if all robots are in the pre-conflict state, it compares the distances of each robot from the conflict point, and the robot with the smallest distance continues to execute the task, and the rest wait; the robot in the conflict state calculates its nearest scheduling point to plan the scheduling path. After calculating the path, it compares the paths of each robot, and the shortest one executes the scheduling, and the others wait;
[0071] Among them, the scheduling point is defined as: starting from this topological point, at least three or more different topological points are connected, and the number of topological points that can be connected is and the distance from each topological point is greater than the threshold; the robot temporarily stops on the path connecting the scheduling point and the topological point, and the distance from the scheduling point is greater than the threshold;
[0072] The available scheduling points meet the following conditions: 1. There is no path pointing to this scheduling point in the path graph; 2. The number of robots parked temporarily at this scheduling point is less than .
[0073] In one embodiment, the method for planning the scheduling path includes: in the basic topological map set the nodes and the cost value is jointly defined by the priority road weight function set by the user and the distance:
[0074] ;
[0075] Set the cost of the directed edge between the topological points arranged in sequence in the occupied sequence to infinity, and set the cost of the directed edge formed by the topological points whose distance from each robot is less than the threshold and the topological points connected to them to infinity, and the cost of the edge between other two topological points is the distance;
[0076] Use the Dijkstra search method to start a breadth-first search with the projection of the robot on the topological map as the starting point until all feasible scheduling points on the entire map are searched, forming a set of scheduling points, and calculating the topological path for each robot to reach this scheduling point through the gradient descent method;
[0077] Calculate the cost of each path as ;
[0078] Find the scheduling point with the lowest cost in the set of scheduling points to obtain the scheduling path.
[0079] In one embodiment, it further includes calculating the directed edges for scheduling docking, and the method includes:
[0080] Analyze the set composed of each topological point connected to the scheduling point. If the edge pointing from the topological point to the scheduling point is in the occupancy sequence, then remove this topological point. Otherwise, determine that the directed edge for scheduling docking is the edge formed by the scheduling point and this topological point; if all topological points connected to this scheduling point are removed, it means this scheduling point is invalid. Continue to select a scheduling point with a greater cost from the set of scheduling points and select the corresponding docking directed edge. If the scheduling path cannot be calculated, then wait.
[0081] In one embodiment, if a robot in conflict calculates a scheduling path and it is the shortest compared to the scheduling paths of other robots, then execute the scheduling and wait at the docking edge, and use the Dijkstra search to calculate its path to the target point in the basic topological map. If the heat values of all topological points in this path are 1, then this robot continues to run towards the target point, otherwise it stops; if a robot waiting at the docking edge blocks the running of other robots, it is considered in conflict, and recalculate the scheduling docking edge.
[0082] In another embodiment, a computer storage medium stores a computer program, and when the computer program is executed, it implements the above-mentioned distributed multi-robot scheduling method for a mobile robot.
[0083] The distributed multi-robot scheduling method for the mobile robot can adopt any one of the above-mentioned distributed multi-robot scheduling methods for a mobile robot, and the specific implementation will not be elaborated here.
[0084] In another embodiment, a distributed multi-robot scheduling system for a mobile robot includes a processor, and the processor incorporates the above-mentioned distributed multi-robot scheduling method for a mobile robot.
[0085] Specifically, the working process of a distributed multi-robot scheduling system for a mobile robot is described as follows with a preferred embodiment as an example:
[0086] In order to enable multiple mobile robots to navigate in the environment, scheduling is required. In the scheduling, the distributed scheduling method does not require modification of the environment. It only needs to be equipped with a wireless transmission device on the robot body to disseminate information to the surroundings by broadcasting, and at the same time receive the information broadcast by other robots, and the distributed scheduling of commercial robots can be realized through calculation. As Figure 2 shown, the specific implementation process of distributed scheduling is as follows:
[0087] a. Share the information of the robot through the wireless device, including the robot ID, map name, robot pose, and robot path.
[0088] b. The information obtained through the prior map is the basic topological map, and the map contains the connectivity between path points, path width, and path number information.
[0089] c. Through a, the projection of each robot in the basic topological map can be obtained.
[0090] d. Based on the basic topological map and the information shared by the wireless device, a heat map and a path map for scheduling can be obtained.
[0091] e. Based on the information in d, the conflict type of the robot can be judged.
[0092] Perform conflict handling based on the information in e.
[0093] Using distributed scheduling requires modeling the environment where the robot is located, as Figure 3 shown. The modeling includes the path direction of the passable path of the robot, the width that can avoid obstacles, and the starting point and ending point of each path, forming a network of basic paths for the robot to run. These networks can be described by the basic topological map. The basic topological map includes the directional connectivity between topological points, the width of the path formed by two topological nodes, the road width can be set according to the specific scenario, and the coordinates of the topological points. Define the basic topological map as a set composed of topological points, and each topological point The set of connection points formed is:
[0094] ;
[0095] Among them, → represents that the topological point with the index value of is unidirectionally connected to the topological point with the index value of of the topological point.
[0096] The information broadcast through the wireless information includes the serial number (ID) indicating different robots, the current pose of the robot, and the robot path composed of a sequence of topological points. The path represents a series of path points passed by the robot. The purpose of wireless information broadcast is to share the information of all robots participating in the scheduling calculation within the networking area.
[0097] Adding the paths in the broadcast information received from other robots to the basic topological map can generate a heat map and a path map. The significance of the heat map is to represent the conflict situation of topological points in each road network. The higher the heat value, the more intense the conflict situation. The significance of the path map is to represent and describe the paths of this machine and other machines and the path occupancy directions.
[0098] As Figure 4 shown, the heat map represents the conflict degree of each topological point, comprehensively considering each topological point in the ordered set of all robots' broadcast paths Enumerate the previous topological points connected to this topological point in each path to form a previous set .
[0099] ;
[0100] Among them, The index value of the topological point.
[0101] Enumerate the subsequent topological points connected to this topological point in each path to form a subsequent set. If the elements of the previous set are not the same, it means that this topological point has a conflict, and the conflict degree is represented by the heat value The heat value is equal to the number of elements in the previous set. If the elements of the previous set appear in the subsequent set, it means that this topological point has a conflict, and the heat value is equal to the number of elements in the previous set. The heat value of the conflict-free topological points in each path is 1, and the heat value of the topological points not passing through the robot path is 0.
[0102] After each robot receives the path information of other robots, a path map is formed. As Figure 5 shown, the path map contains an ordered topological point sequence of each robot's path. Therefore, the non-passable topological point sequence (occupied sequence) in the path map is the reverse sequence of the ordered topological point sequence. Each topological point in the path map records the serial numbers (IDs) of each robot.
[0103] Comprehensively considering the basic topological map, path map, and heat map, the operation information, conflict information, and path information of each robot at the current moment can be summarized, and after summarization, the conflict judgment of each robot is carried out.
[0104] The conflict judgment is divided into two parts: the first part is the projection of the robot in the basic topological map, and the second part is to judge whether the robot is in a. conflict-free state, b. pre-conflict state, c. conflict state, d. conflict-free state outside the channel, e. pre-conflict state outside the channel, f. conflict state outside the channel through the projection result.
[0105] In the projection process of the robot in the basic topological map, the first two points of the path are selected. AsFigure 6 As shown, the first path point is , and the second path point is , and the projection point is . The ratio of the distance from the obtained projection point to the second path point to the distance between the two points, i.e., <the first path point, the second path, ratio>, the ratio is:
[0106] ;
[0107] Based on the above information, the distance of the robot's projection from the second path point of the path can be obtained :
[0108] ;
[0109] In the heat map, the heat value of each topological point of the robot path can be obtained as the basis for conflict condition judgment. As Figure 7 shown, define the first point of the path as point 0, the second point as point 1, and the Nth point as point N - 1. Make the following definitions: a. If the heat values of all topological points in the robot path are 1, it is considered that the robot has no conflict. If the heat value of point 0 is greater than 1 and the heat values of subsequent topological points are all equal to 1, it is considered that the robot has no conflict. b. If the heat value of point 0 is greater than 1 and the heat values of subsequent topological points are greater than 1, it is considered that the robot is in conflict. c. If the heat value of point 0 is equal to 1 and the heat values of subsequent topological points are greater than 1, it is considered that the robot is before conflict.
[0110] Calculate the distance of the robot's projection , and the geometric relationship of the path formed by the robot with the first path point and the second path point in the basic topological map can be obtained.
[0111] The first path point is , and the second path point is for projection. The straight line formed by the two points is:
[0112] The robot coordinate is The distance to the projection point is:
[0113] ;
[0114] Each path formed by two connected path points has a path width. The path width formed by the first path point and the second path point in the basic topological map is , if then it is considered that the robot is within the path width (inside the channel), otherwise the robot is outside the path width (outside the channel).
[0115] Robots outside the road width have the lowest passing priority. For a robot outside the road width, if there is a topological point with a non-zero thermal value in its topological path, it needs to wait; otherwise, it can pass.
[0116] Count the conflict status of each robot in the channel. The robot in the channel obtains the set of robots passing through its path points. If the current robot has no conflict, it continues to execute the task; if there is a conflict, it determines the type of conflict. Before the conflict, it determines the conflict types of other elements in the robot set. If there are other robots in conflict, it waits. When all robots are before the conflict, compare the distances of each robot from the conflict point. The robot with the smallest distance continues to execute the task, and the others wait. A robot in conflict needs to calculate its nearest scheduling point to plan a scheduling path. After calculating the path, compare the paths of each robot, and the shortest one executes the scheduling while the others wait.
[0117] The definition of a scheduling point is as follows: Starting from this topological point, it can be connected to at least three or more different topological points, and the number of topological points that can be connected is and the distance from each topological point is greater than the threshold. A robot can temporarily park on the path connecting the scheduling point and the connected topological point, and the distance from the scheduling point is greater than the threshold. The available scheduling points need to meet the following conditions: 1. There is no path pointing to this scheduling point in the path graph. 2. The number of robots parked temporarily at this scheduling point is less than .
[0118] The calculation of the scheduling path adopts the Dijkstra search method for a directed weighted graph. This method can flexibly configure the cost values of each edge in the graph structure in each direction. In the basic topological map set the cost value between nodes and can be defined jointly by the priority road weight function set by the user and the distance:
[0119] ;
[0120] Set the cost of the directed edge between the topological points arranged in sequence in the occupied sequence to infinity (that is, one-way non-passable, with the direction pointing from the previous topological point to the next topological point), and set the cost of the directed edge formed by the topological points within the threshold distance from each robot and the topological points connected to them to infinity. (i.e., non-passable on both sides, non-passable in the direction from the previous topological point to the next topological point and in the direction from the next topological point to the previous topological point). Combining the connectivity of the topological point sequence in the basic topological map (the unilateral and bilateral connectivity of each topological point, and the cost of non-connectable edges is infinite). The cost of the edges between other pairs of topological points is the distance. The Dijkstra search method is used to start a breadth-first search starting from the projection of the robot in the topological map until all feasible scheduling points in the map are searched, forming a set of scheduling points, and the topological paths for each robot to reach these scheduling points are calculated by the gradient descent method. Each path has a cost of .
[0121] Select the scheduling point with the lowest cost from the found set of scheduling points to obtain the scheduling path (topological path). The corresponding topological path has a cost of:
[0122] ;
[0123] Start calculating the directed edges for scheduling stops: Analyze the set formed by each topological point connected to this scheduling point. If the edge pointing from the topological point to the scheduling point is in the occupancy sequence of 6, then remove this topological point. Otherwise, determine that the directed edge for scheduling stop is the edge formed by the scheduling point and this topological point. If all topological points connected to this scheduling point are removed, it means this scheduling point is invalid. Continue to select a scheduling point with a greater cost from the set of scheduling points and select the corresponding directed edge for docking. If no scheduling path can be calculated, wait.
[0124] If the robot in conflict calculates a scheduling path and it is the shortest compared to the scheduling paths of other robots, then execute the scheduling, wait at the docking edge, and use the Dijkstra search to calculate its path to the target point in the basic topological map. If the heat values of the topological points in this path are all 1, then this robot continues to run towards the target point. Otherwise, stop. If the robot waiting at the docking edge blocks the operation of other robots, it is considered in conflict, and recalculate the scheduling docking edge to increase the scheduling flexibility of the robots.
[0125] The above embodiments are the preferred embodiments of the present invention, but the embodiments of the present invention are not limited by the above embodiments. Any other changes, modifications, substitutions, combinations, and simplifications made without departing from the spirit and principle of the present invention shall be equivalent replacement methods and are all included in the protection scope of the present invention.
Claims
1. A distributed multi-machine scheduling method for mobile robots, characterized in that: The following steps are involved: S01: Obtain the basic topological map through the prior map; S02: Obtain robot information, including robot ID, map name, robot position, and robot topological path, and obtain the projection of each robot in the basic topological map; S03: Obtain a heat map and a path map for scheduling based on the basic topology map and robot information; S04: judging the conflict type of the robots according to the projection of each robot in the basic topology map, and performing conflict handling according to the conflict type; Conflict handling based on conflict type includes: The conflict status of each robot is counted. The robots within the path width obtain the set of robots that their path points pass through. If the current robot has no conflict, it continues to execute the task. If there is a conflict, the conflict type is determined. Before the conflict, the conflict type of other elements in the robot set is determined. If other robots are in conflict, they wait. Before all robots are in conflict, the distance between each robot and the conflict point is compared. The robot with the smallest distance continues the task, and the others wait. The robot in conflict calculates its nearest scheduling point to plan the scheduling path. After calculating the path, the paths of each robot are compared. The shortest one is scheduled, and the others wait. The scheduling point is defined as: starting from a certain topological point and connecting at least three different topological points. The number of topological points that can be connected is And the distance between each topological point is greater than the threshold; the robot temporarily stops on the path between the scheduling point and the connecting topological point, and the distance from the scheduling point is greater than the threshold; The scheduling point available for scheduling meets the following conditions:
1. There is no path pointing to the scheduling point in the path map; 2. The number of robots temporarily parked at the scheduling point is less than .
2. The distributed multi-machine scheduling method of mobile robots according to claim 1, characterized in that: The method for generating the heat map in step S03 includes: Obtain the pre-order topological points connected to each topological point in each path to form a pre-order set; Obtain the subsequent topological points connected to the topological point in each path to form a post-order set; If the elements of the preorder set are different, it means that the topological point has a conflict, and the degree of conflict is expressed by the thermal value Indicates that the thermal value is equal to the number of elements in the previous set; if each element of the previous set appears in the subsequent set, it means that the topological point has a conflict, and the thermal value is equal to the number of elements in the previous set. The thermal value of the topological point without conflict in each path is 1, and the thermal value of the topological point that does not pass through the robot path is 0.
3. The distributed multi-machine scheduling method of mobile robots according to claim 1, characterized in that: The projection of each robot in the basic topological map obtained in step S02 includes: The robot selects the first two points of the path during the projection process in the basic topological map. The first path point is , the second path point is , the projection point is ; The calculated ratio of the distance between the projection point and the second path point is the ratio of the two points, that is, <first path point, second path point, ratio>, ratio for: , Calculate the distance of the robot's projection distance path to the second path point : 。 4. The distributed multi-machine scheduling method of mobile robots according to claim 1, characterized in that: The conflict types in step S04 include: In the heat map, the heat value of each robot path topological point is obtained, and the first point of the path is defined as point 0, the second point as point 1, and the Nth point as point N-1. The method for judging the conflict type is as follows: a. If the heat value of each topological point in the robot path is 1, the robot is considered to have no conflict; if the heat value of point 0 is greater than 1, and the heat values of subsequent topological points are all equal to 1, the robot is considered to have no conflict; b. If the heat value of point 0 is greater than 1, and the heat values of subsequent topological points are greater than 1, the robot is considered to be in conflict; c. If the heat value of point 0 is equal to 1, and the heat values of subsequent topological points are greater than 1, the robot is considered to be before the conflict; Calculate the distance from the robot coordinates to the projection point , obtain the geometric relationship of the robot's path with the first path point and the second path point in the basic topological map, and determine whether the robot is within the path width or outside the path width; The conflict types are divided according to whether the robot is within the path width. The conflict types include no conflict state in the channel, pre-conflict state in the channel, conflict state in the channel, no conflict state outside the channel, pre-conflict state outside the channel, and conflict state outside the channel.
5. The distributed multi-machine scheduling method of mobile robots according to claim 1, characterized in that: The method for planning the scheduling path includes: Midpoint and The cost value Priority path function set by the user Defined together with distance: , The cost of the directed edges between the topological points arranged in sequence in the occupation sequence is set to infinity, and the cost of the directed edges formed by the topological points whose distance from each robot is less than the threshold and the topological points connected to them is set to infinity, and the cost of the edges between other two topological points is the distance; The Dijkstra search method is used to start the breadth-first search from the robot's projection on the topological map until a feasible scheduling point in the entire map is found, forming a scheduling point set, and the topological path for each robot to reach the scheduling point is calculated by gradient descent. Calculate each path The cost is ; Find the scheduling point with the lowest cost in the scheduling point set to obtain the scheduling path.
6. The distributed multi-machine scheduling method of mobile robots according to claim 1, characterized in that: It also includes calculating the directed edges of the scheduled stops, including: The set of topological points connected to the scheduling point is analyzed. If the edge pointing from the topological point to the scheduling point is in the occupation sequence, the topological point is removed. Otherwise, the directed edge of the scheduling stop is determined to be the edge formed by the scheduling point and the topological point. If all the topological points connected to the scheduling point are removed, it means that the scheduling point is invalid. Continue to select a scheduling point with a higher cost from the scheduling point set and select the corresponding directed edge for the stop. If the scheduling path cannot be calculated, wait.
7. The distributed multi-machine scheduling method of mobile robots according to claim 1, characterized in that: If the robot in conflict calculates the scheduling path and it is the shortest compared to the scheduling paths of other robots, it will execute the scheduling and wait at the docking side. It will use Dijkstra search to calculate the path to the target point in the basic topological map. If the thermal values of the topological points in the path are all 1, the robot will continue to run to the target point, otherwise it will stop. If the robot waiting at the docking side blocks the operation of other robots, it is considered to be in conflict and the scheduling docking side is recalculated.
8. A distributed multi-machine scheduling system for mobile robots, characterized in that: It comprises a processor, wherein the distributed multi-machine scheduling method for mobile robots according to any one of claims 1 to 7 is built into the processor.
9. A computer storage medium having a computer program stored thereon, characterized in that: When the computer program is executed, the distributed multi-machine scheduling method for mobile robots described in any one of claims 1-7 is implemented.