Multi-robot conflict resolution method, device and storage medium based on negotiation
By adopting negotiation-based conflict resolution methods in multi-robot systems, local communication and intelligent negotiation algorithms are used to solve the coordination and conflict problems between robots, and the efficiency and stability of the system are improved.
Patent Information
- Application Number
- CN202411918958.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-12-25
- Publication Date
- 2025-03-25
- Estimated Expiration
- 2044-12-25
AI Technical Summary
In multi-robot systems, coordination and conflict resolution between robots have become an urgent problem. Traditional central control systems have bottlenecks, high communication consumption and difficult to adapt to dynamic changes.
A multi-robot conflict resolution method based on negotiation is proposed. Through local communication and intelligent negotiation algorithms, the robot navigates within the target area, detects conflicts, formulates negotiation solutions, and optimizes path planning to resolve conflicts.
This method reduces dependence on the central control system, improves the robustness and flexibility of the system, reduces communication delay and data transmission requirements, and improves response speed and task efficiency.
Smart Images

Figure CN119356401B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of robot scheduling and control, and in particular to a multi-robot conflict resolution method, device and storage medium based on negotiation. Background Art
[0002] With the rapid development of automation and artificial intelligence technology, robotics has become an indispensable part of modern industry, service industry and even daily life. In the fields of industrial production lines, warehousing and logistics, medical assistance, home services, etc., the application of robots has greatly improved efficiency and safety. However, with the increase in the number of robots and the complexity of application scenarios, coordination and conflict resolution between robots has become an urgent problem to be solved.
[0003] In a multi-robot system, robots need to share space, resources, and tasks, which inevitably leads to conflicts and competition. For example, in an automated warehouse, multiple handling robots may conflict because of competing for the same goods or paths; in the field of service robots, cleaning robots and food delivery robots may block each other in hotel corridors. These conflicts will greatly reduce work efficiency and cause mission failure.
[0004] Traditional solutions often rely on a central control system to coordinate the behavior of individual robots through global communication. However, this approach has several significant limitations. First, the central control system may become a bottleneck of the system, and once a failure occurs, the entire system may be paralyzed. Second, global communication requires a large amount of data transmission, which is impractical when the network bandwidth is limited or the communication environment is complex. Finally, global communication is difficult to adapt to dynamically changing environments and task requirements, and lacks flexibility and adaptability. Summary of the invention
[0005] Purpose of the invention: To propose a multi-robot conflict resolution method, device and storage medium based on negotiation, which aims to effectively solve the conflict problem in the multi-robot system and improve the efficiency and stability of the system through local communication and intelligent negotiation algorithm.
[0006] The present invention proposes a multi-robot conflict resolution method based on negotiation, comprising the following steps:
[0007] S1. Generate a map road network based on a target area; multiple robots navigate in the target area;
[0008] S2. When any one of the robots fails in navigation, the current navigation is stopped, and conflict detection is performed based on the map network. If a conflict is found, a conflict message is issued, and the process proceeds to step S3;
[0009] After receiving the conflict message, the remaining robots involved in the conflict stop the current navigation and proceed to step S3;
[0010] S3. Develop negotiation-based conflict resolution solutions;
[0011] S4. The robot whose conflict is to be resolved resumes execution according to the path in the conflict resolution method.
[0012] In a further embodiment, before generating the map road network, the original map of the target area is obtained by the SLAM algorithm. ;
[0013] In the original map In the example, each pixel corresponds to a value of 0 to 255. A pixel value of 0 indicates idleness. The pixel value range is Indicates a suspected obstacle in the interval The higher the pixel value in the range, the greater the probability of an obstacle. When the pixel value is 254, the probability of an obstacle is 1, and a pixel value of 255 indicates an unknown area.
[0014] Traversing the original map Each pixel in , the original map The pixels representing obstacles and unknown areas are assigned a value of 100, and the remaining pixels retain their original pixel values to obtain the image :
[0015]
[0016] In the formula, is the pixel value after preprocessing;
[0017] For images The pixels in the image are bitwise inverted to obtain the image ;
[0018] For images Perform binarization operation and traverse the image Each pixel in , get the image :
[0019]
[0020] In the formula, is the pixel value after the binarization operation; image In the figure, the pixels of obstacles and unknown areas are represented by 0, and the pixels of feasible areas are represented by 255;
[0021] For images Perform corrosion operation to expand the obstacles and obtain the image ;
[0022] Get image The shortest distance from each pixel to the obstacle in the image is defined The set of obstacle pixels in is , find each pixel arrive The closest distance, the processed image Each pixel in for:
[0023]
[0024] Where dist(*) represents the pixel distance of the image.
[0025] In a further embodiment, based on the image , generate a map road network, the process specifically includes:
[0026] Traversing the image For each pixel in the image, the eight-neighborhood region is used to detect whether the current pixel is a maximum point or a saddle point; the maximum point and / or saddle point is extracted to obtain the skeleton point of the image, and the skeleton point set is defined as ;
[0027] Traverse the skeleton point set For each pixel in , determine whether there are 3 or 4 isolated skeleton points in the eight neighborhoods. If so, take this skeleton point as the intersection point of the skeleton; define the identified intersection point set as ;
[0028] Intersection set The search is extended in each direction of each skeleton point in the search until the nearest skeleton point or endpoint is found. The path of each skeleton point search is recorded and all paths are saved in the collection middle;
[0029] Will gather The starting point of each path is the parent node and the end point is the child node. All paths form a map road network with topological relationships.
[0030] In a further embodiment, when the robot navigates in the target area, the robot heartbeat information is periodically released, and the robot heartbeat information includes:
[0031] The robot's ID, its own position, the target point's ID, and the current map's ID.
[0032] In a further embodiment, when any one of the robots A fails to navigate, the IDs of the target points of the remaining robots within a nearby predetermined range are obtained;
[0033] Robot A first plans its own shortest path based on its own starting point and target point. On the premise of having planned its own shortest path, it plans the shortest paths of the remaining robots in turn based on their current positions and target points.
[0034] After planning the shortest path for each robot, determine whether there is a conflict with the previous path. If a conflict occurs, record the robot ID and obtain a list of robots that conflict with the current robot.
[0035] If no conflict is detected, navigation continues according to the stand-alone method.
[0036] In a further embodiment, if the list of robots in conflict is not empty, a conflict message is published;
[0037] The conflict message includes the ID of the robot that needs to be negotiated and an identification code for recording the conflicting version.
[0038] In a further embodiment, a negotiation-based conflict resolution method is developed, specifically comprising:
[0039] Robot A, which has failed in navigation, obtains the conflict message and determines the ID of the robot that needs to be negotiated and the identification code of the conflicting version;
[0040] Robot A first considers itself as the robot with the highest priority to plan the path; then it randomly arranges the priorities of the remaining robots and plans the remaining paths:
[0041] If the path planning of a remaining robot fails, the priority of the robot that failed the planning is increased, and the path planning is performed again. After the planning is successful, the path planning result message is published;
[0042] If planning still fails after traversing all robots, the planning is deemed to have failed and a path planning result message is published;
[0043] If the preset timeout period has elapsed and no planning result has been obtained, the planning is deemed to have failed and a path planning result message is published.
[0044] In a further embodiment, the path planning result message includes the IDs of the robots sorted by priority and the total cost obtained in this planning;
[0045] Before a robot publishes a path planning result message, it first determines whether it has received the conflict resolution solution from other robots, and selects the conflict resolution solution with the smallest total cost as the optimal solution.
[0046] After publishing the path planning result message, the robot waits for a predetermined time to receive responses from other robots on the total cost of this planning; if all robots involved in the conflict respond within the specified time, the negotiation of this conflict is successful; otherwise, the negotiation of this conflict fails.
[0047] In addition, the present invention also discloses an electronic device, which includes a processor and a memory storing computer program instructions; when the processor executes the computer program instructions, the above-mentioned negotiation-based multi-robot conflict resolution method is implemented.
[0048] In addition, the present invention also discloses a computer-readable storage medium, in which at least one executable instruction is stored. When the executable instruction is executed on an electronic device, the electronic device executes the above-mentioned negotiation-based multi-robot conflict resolution method.
[0049] Beneficial effects:
[0050] (1) This invention proposes a multi-robot negotiation mechanism based on local communication, which allows robots to communicate and negotiate in a local area to resolve conflicts and optimize task allocation. The advantage of this method is its distributed nature, which can reduce dependence on the central control system and improve the robustness and flexibility of the system. In addition, local communication reduces the need for data transmission, reduces communication delay, and improves response speed.
[0051] (2) In the local communication negotiation mechanism, each robot has a certain degree of intelligence and can make decisions based on local information. Robots exchange information such as location, target point, and robot attributes through a simple communication protocol, and then use a negotiation algorithm to reach a consensus, resolve conflicts, and avoid deadlock.
[0052] (3) When a potential conflict is detected, the robot can publish a message through local communication to start the negotiation process. This process not only includes multi-machine planning and result publishing, but also involves waiting for the response of other robots and selecting the best solution. Ultimately, the robot will execute the path according to the best solution to ensure efficient completion of the task. BRIEF DESCRIPTION OF THE DRAWINGS
[0053] Figure 1 Flow chart of a multi-robot conflict resolution method based on negotiation in an embodiment of the present invention.
[0054] Figure 2 This is a flow chart of automatically generating a map road network in an embodiment of the present invention.
[0055] Figure 3 The figure is a flow chart of the logic of conflict detection performed by the robot in the embodiment of the present invention.
[0056] Figure 4The figure is a flow chart of a conflict resolution method based on negotiation in an embodiment of the present invention.
[0057] Figure 5 The flowchart is a path execution diagram of the optimal solution in an embodiment of the present invention.
[0058] Figure 6 This is an example of an original map in an embodiment of the present invention.
[0059] Figure 7 This is an example of the skeleton extracted in the embodiment of the present invention.
[0060] Figure 8 This is an example of an intersection in an embodiment of the present invention.
[0061] Fig. 9 This is an example of a road network diagram extracted from an image skeleton in an embodiment of the present invention. DETAILED DESCRIPTION
[0062] In the following description, a large number of specific details are provided to provide a more thorough understanding of the present invention. However, it is apparent to those skilled in the art that the present invention can be implemented without one or more of these details. In other examples, in order to avoid confusion with the present invention, some technical features known in the art are not described.
[0063] Figure 1 The overall process of the multi-robot conflict resolution method based on negotiation disclosed in this embodiment is shown, which is divided into the following four steps:
[0064] S1. Generate a map road network based on a target area; multiple robots navigate in the target area;
[0065] S2. When any one of the robots fails in navigation, the current navigation is stopped, and conflict detection is performed based on the map network. If a conflict is found, a conflict message is issued, and the process proceeds to step S3;
[0066] After receiving the conflict message, the remaining robots involved in the conflict stop the current navigation and proceed to step S3;
[0067] S3. Develop negotiation-based conflict resolution solutions;
[0068] S4. The robot whose conflict is to be resolved resumes execution according to the path in the conflict resolution method.
[0069] Figure 2 Further disclosure of the specific details of the process of generating the map network:
[0070] S11: In the present invention, the robot uses the ROS system, the map used by the robot is constructed by the SLAM algorithm, and the saved image is in PGM format (see Figure 6 As shown). After the map is created on a robot, it is copied to other robot bodies by copying or synchronization. The robots in this example all use the same map for positioning, so the coordinate system used by each robot is consistent. The present invention obtains the map used by the current robot from one of the robots and enters the process of S12.
[0071] S12: In order to simplify the calculation of conflict detection in S2 and multi-machine planning in S33, the map is first processed to extract the road network.
[0072] After loading the map, perform a binary operation on the image. In PGM, each pixel corresponds to a value between 0 and 255, and a pixel value of 0 indicates idle. Indicates a suspected obstacle in the interval The higher the pixel value in the range, the greater the probability of an obstacle. When the pixel value is 254, the probability of an obstacle is 1, and a pixel value of 255 indicates an unknown area.
[0073] Traversing the map Each pixel in , do the following:
[0074]
[0075] in is the pixel value after processing, and the image is defined as .exist In The pixels representing obstacles and unknowns are assigned a value of 100.
[0076] Then The pixels in the image are bitwise inverted. This example calls the bitwise_not function in OPENCV to obtain the image .
[0077] Then Perform binary operation and traverse Each pixel in , do the following:
[0078]
[0079] in is the pixel value after processing, and the image is defined as In this example, the threshold function of OPENCV is called to obtain the image Then in In the image, the pixels of obstacles and unknown areas are represented as 0, and the pixels of feasible areas are represented as 255.
[0080] Then the image is eroded to dilate the obstacles. In this example, the erode function in OPENCV is used for the operation. The size of the eroded mask is 13*13. The resulting image .
[0081] This embodiment Use the distanceTransform function in OPENCV to get the shortest distance image of each pixel from the obstacle point , Each pixel value in represents the pixel distance to the nearest obstacle.
[0082] Traversal For each pixel in the image, the eight-neighborhood region is used to detect whether the current pixel is a maximum point or a saddle point. These points are extracted to obtain the skeleton of the image, and the set of skeleton points is defined as . Extract the skeleton image as Figure 7 Shown as white line in the figure.
[0083] S13: Get a set of skeleton points After that, we need to analyze the skeleton in the image ( Figure 7 It traverses each pixel of the image (white line in the figure) to determine whether there are 3 or 4 isolated skeleton points in the eight-neighborhood. If so, this point is used as the intersection point of the skeleton. Figure 8 is an example of an intersection. The yellow squares on both sides of the figure represent the identified intersections, the red squares represent the skeleton points in its eight-neighborhood, the orange squares represent ordinary paths, and the white squares are grids that are not paths. The letters o, y, and r in the squares are the first letters of the colors orange, yellow, and red, respectively. Since there are 4 unconnected (isolated) skeleton points near them, they belong to the intersection. The set of identified intersections is defined as .
[0084] Get the set of intersection points in the skeleton After that, Each skeleton point in is extended using the Dijkstra algorithm, and only skeleton points are considered during the extension until the nearest skeleton point is found. When extending each point, other adjacent points of the intersection need to be set as inaccessible to prevent the search algorithm from searching in the wrong direction. Specifically, Figure 8To extend the left intersection point in the figure to the skeleton point on the right, you need to set the skeleton points above, on the left, and below as infeasible first. Then the search algorithm will extend the path along the skeleton to the right until the skeleton point on the right is found. Then, the intersection point on the right can be used as a child node of the intersection point on the left for the subsequent path search algorithm. To speed up the search, remove the line segments whose end segments (that is, one end of the line segment is the intersection point and the other end is the endpoint) are less than the threshold. The threshold set in this example is 10 pixels. Fig. 9 The green line in the figure is the road network extracted after filtering, and the end points of the green line are highlighted in red.
[0085] Since the above steps of establishing the road network save the topological relationship of each path, a commonly used search algorithm can be used to search for the path between any two nodes in the tree. In the example of the present invention, the Dijkstra algorithm is used for searching.
[0086] Figure 3 The process details of step S2 are disclosed:
[0087] S21: The robots in the present invention are all equipped with near field communication modules (such as LORA or Bluetooth devices), and periodically publish their own positions and the IDs of the corresponding target points. Because the map, road network, and point files of each robot are consistent, the precise positions of other robots can be known through the published robot heartbeat information. The heartbeat information of the robot defined in the present invention includes: the robot's own ID, its own position, the ID of the target point, and the ID of the current map.
[0088] The robot will enter the conflict detection judgment only when the navigation fails, which can reduce the frequency of multi-machine path planning and thus reduce the burden on the system. When navigation fails, the robot will obtain the target point of the robot within a certain range nearby. In this example, the range is set to 3m. According to the robot's own starting point and target point, the shortest path is planned first. On the premise that its own path has been planned, the shortest paths of other robots are planned in turn according to their current positions and target positions. After each path is planned, it is determined whether there is a conflict with the previous path (mainly detecting point conflicts and edge conflicts). If a conflict occurs, the ID of this robot is recorded. Here is a list of robots that conflict with the current robot. If no conflict is detected, continue to perform normal navigation according to the single-machine method.
[0089] S22: If the list of robots with conflicts is not empty, a message will be published. However, before publishing the message, robot A will check whether the same conflicting message has been received in the message receiving queue (the present invention defines the same conflict as having the same participants and the time of receiving the message is within 3 seconds). If the discovery information of the conflict has been received, the message will not be published, otherwise the message of discovery of the conflict will be published.
[0090] The conflict detection message includes which robots need to negotiate. For example, when robot A detects a conflict with robots B and C, the IDs of robots A, B and C will be included in the same message, and an identification code will be generated to record the version of the conflict to avoid repeated calculation of the conflict and identification of subsequent replies. When a robot publishes a conflict detection message, it will enter the S3 process.
[0091] Of course, it is also possible that the robot is still in the process of navigation, but receives a message from another robot that a conflict has been discovered, and it is also a participant in the conflict. In this case, the robot will immediately stop navigating and enter the conflict resolution process of S3.
[0092] Figure 4 The specific details of the process of step S3 are disclosed:
[0093] S31: When a robot publishes a conflict message, it may also receive messages from other machines about the same conflict. The conflict participants of these two messages are the same, but the conflict version numbers are inconsistent. At this time, the conflict version number in the message published by the robot with the larger ID of the message publisher is the version number that needs to resolve the conflict. This approach can maintain the unique definition of the same conflict. For example, if there are currently three robots A, B, and C in conflict, then it is possible that ABC will all send a message about the same conflict. For A, after publishing the message itself, it may receive messages from B and C. A will determine whether the participants in the information are consistent with the participants of the current conflict. If they are consistent, it indicates that it is the same conflict. This requires judging whether the ID of the publisher of this message is larger than A's ID. If the ID of the publisher of the message is larger than A, A uses the conflict ID in this message as the version number of the conflict planned later; otherwise, continue to use the conflict version number in the information published by A.
[0094] S32: After determining the version number and participants of the conflict, each robot needs to obtain the current position and target position of other robots in the conflict, which is obtained through the heartbeat message regularly released by the robot. Then, the multi-robot path planning is carried out.
[0095] S33: Since the road network has been obtained, there are many algorithms that can be used to implement multi-machine planning. In this example, the PP algorithm is used. The robot itself is considered to have the highest priority. It plans first, then randomly arranges the priorities of the remaining robots, and then plans again. If planning fails, the priority of the robot that failed planning is increased until planning succeeds; or if planning fails after all situations have been traversed, planning failure is returned. If the predetermined timeout period has been reached and no planning result has been obtained, planning is considered to have failed.
[0096] S34: After obtaining the planning results, the results are published. However, the message does not directly publish all the paths. Instead, the robots are sorted in order of priority. The message contains the IDs of the robots sorted by priority, which can save bandwidth to the maximum extent. The message also contains the total cost of completion obtained by the multi-machine planning. In this example, the time required for the last robot to complete the path is used as the total cost. Before publishing the message, the robot determines whether it has received the solution to the conflict from other robots. If it has, it determines whether the cost is smaller than the current solution. If the cost is smaller than the current solution, the message is not published, and a reply to the received solution is published, and S36 is directly entered. Otherwise, the solution message is published and S35 is entered.
[0097] S35: After publishing the message, the robot will wait for a while to receive responses from other robots to this price. If no response is received from each participant, the negotiation of this conflict fails and the conflict process S31 is entered again. If all robots involved in the conflict reply within the specified time, the negotiation of this conflict is successful and then enters S36.
[0098] S36: Select the method with the lowest cost between the reply and your own planning plan as the execution plan in S4.
[0099] like Figure 5 As shown, the detailed process of step S4 is disclosed:
[0100] S41: In this example, since the communication of S3 only includes the cost of the solution and the execution order of this solution, and there is no direct path, it is necessary to perform multi-machine planning again according to the priority order in the solution. After execution, the paths of all robots in the current solution can be obtained. The advantage of this is that the communication volume between machines is reduced. Extract your own path from the planning results.
[0101] S42: After obtaining the path of each robot, it cannot be executed immediately. The dependency relationship of each point needs to be extracted first. Because there are many uncertainties and inaccuracies in the model, the robot will not arrive at each point strictly according to the planned time, so the dependency relationship of the points needs to be analyzed first. For example: in the path planned by multiple machines, robot A and robot B will both pass through point 1, but the plan is that robot A passes first and robot B passes later. Before robot B goes to point 1, robot A must have passed point 1, otherwise it will wait at the previous position. In this example, the ADG (Action Dependence Graph) algorithm is used to obtain the checkpoints of the path and the dependency relationship of each checkpoint. Here, the checkpoint is defined as the previous point of the point with a dependency relationship.
[0102] S43: After obtaining the path, the robot will first navigate to the first checkpoint on the path. After arriving at the checkpoint, it will determine whether the dependencies of the next point have been completed. If they have been completed, the robot can continue to the next point, otherwise it will wait at the checkpoint.
[0103] After steps S3 to S4, the current conflict can be resolved and each robot can reach its target point normally.
[0104] The entire process of the multi-robot conflict resolution method disclosed in the above embodiment can be embedded in an electronic device for operation. The electronic device includes a processor, a memory, a communication interface and a communication bus. The processor, the memory and the communication interface communicate with each other via the communication bus. The memory is used to store at least one executable instruction, which enables the processor to execute all the process steps of the multi-robot conflict resolution method disclosed in the above embodiment, which will not be described in detail here.
[0105] The electronic device may also communicate with one or more external devices (e.g., keyboards, pointing devices, Bluetooth devices, etc.), may communicate with one or more devices that enable a user to interact with the electronic device, and / or may communicate with any device that enables the electronic device to communicate with one or more other computing devices (e.g., routers, modems, etc.). Such communication may be performed through an input / output (I / O) interface. In addition, the electronic device may also communicate with one or more networks (e.g., local area networks LAN, wide area networks WAN, and / or public networks, such as the Internet) through a network adapter. The network adapter communicates with other modules of the electronic device through a bus. It should be understood that, although not shown in the figure, other hardware and / or software modules may be used in conjunction with the electronic device, including but not limited to: microcode, device drivers, redundant processing units, external disk drive arrays, RAID systems, tape drives, and data backup storage systems, etc.
[0106] In addition, the entire process of the multi-robot conflict resolution method disclosed in the above embodiment can be implemented in whole or in part by software, hardware, firmware or any other combination. When implemented using software, the above embodiment can be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer instructions or computer programs. When the computer instructions or computer programs are loaded or executed on a computer, the process or function described in the embodiment of the present application is generated in whole or in part. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions can be stored in a computer-readable storage medium, or transmitted from one computer-readable storage medium to another computer-readable storage medium. For example, the computer instructions can be transmitted from one website, computer, server or data center to another website, computer, server or data center by wired (e.g., infrared, wireless, microwave, etc.). The computer-readable storage medium can be any available medium that can be accessed by a computer or a data storage device such as a server or data center that contains one or more available media sets. The available medium can be a magnetic medium (e.g., a floppy disk, a hard disk, a tape), an optical medium (e.g., a DVD), or a semiconductor medium. The semiconductor medium can be a solid-state hard disk.
[0107] It should be understood that in the various embodiments of the present application, the size of the serial numbers of the above-mentioned processes does not mean the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of the present application.
[0108] In summary, the embodiments of the present invention provide an innovative multi-robot coordination solution, which effectively solves the conflict problem in the multi-robot system through local communication and intelligent negotiation algorithm, and improves the efficiency and stability of the system. This is of great significance for promoting the application of robot technology in a wider range of fields.
[0109] As described above, although the present invention has been shown and described with reference to specific preferred embodiments, it should not be construed as limiting the present invention itself. Various changes may be made to it in form and detail without departing from the spirit and scope of the present invention as defined in the appended claims.
Claims
1. A multi-robot conflict resolution method based on negotiation, characterized in that: The steps include: S1. Generate a map road network based on a target area; Multiple robots navigate in the target area; when the robots navigate in the target area, they periodically publish robot heartbeat information, and the robot heartbeat information includes: The robot's ID, its own position, the target point's ID, and the current map's ID; S2. When any one of the robots fails in navigation, the current navigation is stopped, and conflict detection is performed based on the map network. If a conflict is found, a conflict message is issued, and the process proceeds to step S3; After receiving the conflict message, the remaining robots involved in the conflict stop the current navigation and go to step S3; S3. Develop negotiation-based conflict resolution strategies, including: Robot A, which has failed in navigation, obtains the conflict message and determines the ID of the robot that needs to be negotiated and the identification code of the conflicting version; Robot A first considers itself as the robot with the highest priority to plan the path; then it randomly arranges the priorities of the remaining robots and plans the remaining paths: If the path planning of a remaining robot fails, the priority of the robot that failed the planning is increased, and the path planning is performed again. After the planning is successful, the path planning result message is published; If planning still fails after traversing all robots, the planning is deemed to have failed and a path planning result message is published; If the scheduled timeout period has expired and no planning result has been obtained, the planning is deemed to have failed and a path planning result message is published; S4. The robot whose conflict is to be resolved resumes execution according to the path in the conflict resolution method.
2. The negotiation-based multi-robot conflict resolution method according to claim 1, characterized in that: Before generating the map road network, include: Get the original map of the target area through the SLAM algorithm ; In the original map In the example, each pixel corresponds to a value of 0 to 255. A pixel value of 0 indicates idleness. The pixel value range is Indicates a suspected obstacle in the interval The higher the pixel value in the range, the greater the probability of an obstacle. When the pixel value is 254, the probability of an obstacle is 1, and a pixel value of 255 indicates an unknown area. Traversing the original map Each pixel in , the original map The pixels representing obstacles and unknown areas are assigned a value of 100, and the remaining pixels retain their original pixel values to obtain the image ; For images The pixels in the image are bitwise inverted to obtain the image ; For images Perform binarization operation and traverse the image Each pixel in , get the image ; For images Perform corrosion operation to expand the obstacles and obtain the image ; Get image The shortest distance from each pixel to the obstacle in the image is defined The set of obstacle pixels in is , find each pixel arrive The closest distance, the processed image Each pixel in for: ; Where dist(*) represents the pixel distance of the image.
3. The negotiation-based multi-robot conflict resolution method according to claim 2, characterized in that: Image-based , generate a map road network, including: Traversing the image For each pixel in the image, the eight-neighborhood region is used to detect whether the current pixel is a maximum point or a saddle point; the maximum point and / or saddle point is extracted to obtain the skeleton point of the image, and the skeleton point set is defined as ; Traverse the skeleton point set For each pixel in , determine whether there are 3 or 4 isolated skeleton points in the eight neighborhoods. If so, take this skeleton point as the intersection point of the skeleton; define the identified intersection point set as ; Intersection set The search is extended in each direction of each skeleton point in the search until the nearest skeleton point or endpoint is found. The path of each skeleton point search is recorded and all paths are saved in the collection middle; Will gather The starting point of each path is the parent node and the end point is the child node. All paths form a map road network with topological relationships.
4. The negotiation-based multi-robot conflict resolution method according to claim 1, characterized in that: When any robot A fails to navigate, the target point IDs of other robots in the nearby predetermined range are obtained; Robot A first plans its own shortest path based on its own starting point and target point. On the premise of having planned its own shortest path, it plans the shortest paths of the remaining robots in turn based on their current positions and target points. After planning the shortest path for each robot, determine whether there is a conflict with the previous path. If a conflict occurs, record the robot ID and obtain a list of robots that conflict with the current robot. If no conflict is detected, navigation continues according to the stand-alone method.
5. The negotiation-based multi-robot conflict resolution method according to claim 4, characterized in that: If the list of robots in conflict is not empty, a conflict message is published; The conflict message includes the ID of the robot that needs to be negotiated and an identification code for recording the conflicting version.
6. The negotiation-based multi-robot conflict resolution method according to claim 1, characterized in that: The path planning result message includes the IDs of the robots sorted by priority and the total cost obtained in this planning; Before a robot publishes a path planning result message, it first determines whether it has received the conflict resolution solution from other robots, and selects the conflict resolution solution with the smallest total cost as the optimal solution. After publishing the path planning result message, the robot waits for a predetermined time to receive responses from other robots on the total cost of this planning; If all robots involved in the conflict respond within the specified time, the negotiation of this conflict is successful; otherwise, the negotiation of this conflict fails.
7. An electronic device, characterized in that: The device comprises: a processor and a memory storing computer program instructions; when the processor executes the computer program instructions, the negotiation-based multi-robot conflict resolution method according to any one of claims 1 to 6 is implemented.
8. A computer-readable storage medium, characterized in that: The storage medium stores at least one executable instruction, and when the executable instruction is executed on the electronic device, the electronic device executes the negotiation-based multi-robot conflict resolution method according to any one of claims 1 to 6.
Citation Information
Patent Citations
Collision detection and avoidance for robots for motorized selection
CN115576312A