Path deadlock processing method and apparatus for mobile robot, and computing device

By determining the target deadlock ring data and map data, the initial path deadlock processing strategy is used to calculate the initial path deadlock processing strategy, and the path deadlock problem of multiple mobile robots is solved, achieving efficient collision-free operation of the robot, suitable for a variety of business scenarios .

WO2024245161A1PCT designated stage expired Publication Date: 2024-12-05BEIJING GEEKPLUS TECH CO LTD

Patent Information

Application Number
PCT/CN2024/095321
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2023-06-01
Filing Date
2024-05-24
Publication Date
2024-12-05

AI Technical Summary

Technical Problem

In the operation of multiple mobile robots, the problem of path deadlock makes it difficult for the robot to quickly unlock deadlock and restore efficient collision-free operation. The existing distributed cluster scheduling algorithm has poor conflict coordination capabilities, which affects handling efficiency and production.

Method used

By determining the target deadlock ring data and map data, the path deadlock processing strategy is used to calculate the initial path deadlock processing strategy, and the deadlock ring is unlocked, including the evasion path of the conflicting robot and the evasion path of the obstacle robot, so as to achieve the target path deadlock processing strategy to unlock deadlock.

Benefits of technology

Effectively solve complex path deadlocks, ensure smooth traffic of mobile robots, improve deadlock release efficiency, and is suitable for a variety of business scenarios and deadlock types.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2024095321_05122024_PF_FP_ABST
    Figure CN2024095321_05122024_PF_FP_ABST
Patent Text Reader

Abstract

A path deadlock processing method and apparatus for a mobile robot, and a computing device and a computer-readable storage medium. The method comprises: determining target deadlock loop data, map data corresponding to the target deadlock loop data, and initial mobile robot data corresponding to the map data (202); according to the target deadlock loop data, determining at least two deadlocked mobile robots (204); according to the map data and the initial mobile robot data, using a path deadlock processing strategy determination method to determine an initial path deadlock processing strategy for each deadlocked mobile robot, wherein the path deadlock processing strategy determination method comprises: when it is determined that there is a conflicting robot which has a conflict with any deadlocked mobile robot, calculating an avoidance path of the conflicting robot, and / or, when it is determined that there is an obstacle robot blocking the conflicting robot, calculating an avoidance path of the obstacle robot (206); and determining a target path deadlock processing strategy from among the initial path deadlock processing strategies of the deadlocked mobile robots, and releasing a target deadlock loop according to the target path deadlock processing strategy (208). While taking into consideration an avoidance path of a conflicting robot of each deadlocked mobile robot and an avoidance path of an obstacle robot of the conflicting robot, the present method accurately calculates an initial path deadlock processing strategy for each deadlocked mobile robot, so that, in the case of complex path deadlock, the complex path deadlock can be released.
Need to check novelty before this filing date? Find Prior Art

Description

Mobile robot path deadlock processing method, device and computing equipment

[0001] This application claims priority to Chinese patent application No. 202310645353.6 filed on June 1, 2023, the entire contents of which are incorporated by reference into this application. Technical Field

[0002] The present disclosure relates to the technical field of mobile robot path planning, and more particularly to a method for processing a mobile robot path deadlock. The present disclosure also relates to a mobile robot path deadlock processing device, a computing device, and a computer-readable storage medium. Background Art

[0003] With the continuous improvement of industrial automation programs, mobile robots (such as mobile handling robots) are being used more and more widely. They are mainly used in logistics, clothing, e-commerce, retail, manufacturing, medicine and other industries. They are responsible for handling work in smart warehouses or manufacturing workshops, and play an increasingly important role in improving system efficiency and saving manpower.

[0004] Depending on the specific application, the number of mobile robots can range from dozens to hundreds or even thousands. When multiple robots' paths intersect and become complex, path deadlocks can easily occur. Therefore, implementing mobile robot cluster scheduling to quickly resolve deadlocks and ensure efficient, collision-free operation of all mobile robots is a relatively difficult task.

[0005] Summary of the Invention

[0006] The present disclosure provides a method for processing a mobile robot path deadlock, a device for processing a mobile robot path deadlock, a computing device, and a computer-readable storage medium.

[0007] According to some embodiments of the present disclosure, a method for processing path deadlock of a mobile robot is provided, comprising: determining target deadlock loop data, map data corresponding to the target deadlock loop data, and initial mobile robot data corresponding to the map data; determining at least two deadlocked mobile robots that are deadlocked according to the target deadlock loop data; determining an initial path deadlock processing strategy of each deadlocked mobile robot using a path deadlock processing strategy determination method according to the map data and the initial mobile robot data, wherein the path deadlock processing strategy determination method is used to calculate an avoidance path of the conflicting robot when it is determined that there is a conflicting robot that conflicts with any deadlocked mobile robot, and / or to calculate an avoidance path of the obstacle robot when it is determined that there is an obstacle robot that blocks the conflicting robot; determining a target path deadlock processing strategy from the initial path deadlock processing strategies of each deadlocked mobile robot, and releasing the target deadlock loop according to the target path deadlock processing strategy.

[0008] According to some embodiments of the present disclosure, a mobile robot path deadlock processing device is provided, comprising: a data determination module configured to determine target deadlock loop data, map data corresponding to the target deadlock loop data, and initial mobile robot data corresponding to the map data; a robot determination module configured to determine at least two deadlocked mobile robots that are deadlocked based on the target deadlock loop data; an initial strategy determination module configured to determine the initial path deadlock processing strategy of each deadlocked mobile robot based on the map data and the initial mobile robot data using a path deadlock processing strategy determination method, wherein the path deadlock processing strategy determination method is used to calculate the avoidance path of the conflicting robot when it is determined that there is a conflicting robot that conflicts with any deadlocked mobile robot, and / or to calculate the avoidance path of the obstacle robot when it is determined that there is an obstacle robot that blocks the conflicting robot; a deadlock resolution module configured to determine the target path deadlock processing strategy from the initial path deadlock processing strategies of the deadlocked mobile robots, and to resolve the target deadlock loop based on the target path deadlock processing strategy.

[0009] According to some embodiments of the present disclosure, a computing device is provided, comprising a memory, a processor, and computer instructions stored in the memory and executable on the processor, wherein the processor implements the steps of the above-mentioned mobile robot path deadlock processing method when executing the computer instructions.

[0010] According to some embodiments of the present disclosure, a computer-readable storage medium is provided, which stores computer instructions. When the computer instructions are executed by a processor, the steps of the above-mentioned mobile robot path deadlock processing method are implemented.

[0011] Some embodiments of the present disclosure provide a method for handling path deadlock of a mobile robot, which starts from each deadlocked mobile robot in a target deadlock loop in turn, combines map data and initial mobile robot data, and utilizes a path deadlock handling strategy determination method. Taking into account the conflicting robots that block each deadlocked mobile robot and the obstacle robots that block the conflicting robots, the initial path deadlock handling strategy of each deadlocked mobile robot is accurately calculated to resolve complex path deadlocks; and in the case where corresponding initial path deadlock handling strategies exist for multiple deadlocked mobile robots, a more appropriate target path deadlock handling strategy can be obtained therefrom, thereby clearing the path obstacles of each deadlocked mobile robot at a lower cost, and ensuring the smooth passage of each deadlocked mobile robot in the target deadlock loop. BRIEF DESCRIPTION OF THE DRAWINGS

[0012] FIG1 is a schematic diagram of processing a deadlock scenario of a mobile robot according to some embodiments of the present disclosure;

[0013] FIG2 is a flow chart of a method for processing a mobile robot path deadlock provided by some embodiments of the present disclosure;

[0014] FIG3 is a processing flow chart of a method for processing a mobile robot path deadlock provided by some embodiments of the present disclosure;

[0015] FIG4 is a processing flow chart of a high-level conflict resolution algorithm provided by some embodiments of the present disclosure;

[0016] FIG5 is a processing flow chart of a single robot pathfinding algorithm provided by some embodiments of the present disclosure;

[0017] FIG6 is a schematic diagram of a mobile robot path deadlock processing method provided by some embodiments of the present disclosure applied to an opposing deadlock scenario;

[0018] FIG7 is a schematic diagram of a mobile robot path deadlock processing method provided by some embodiments of the present disclosure applied to a rotation deadlock scenario;

[0019] FIG8 is a schematic diagram of a mobile robot path deadlock processing method provided by some embodiments of the present disclosure applied to a curve deadlock scenario;

[0020] FIG9 is a schematic structural diagram of a mobile robot path deadlock processing device provided by some embodiments of the present disclosure;

[0021] FIG10 is a structural block diagram of a computing device provided by some embodiments of the present disclosure. DETAILED DESCRIPTION

[0022] The following description sets forth many specific details to facilitate a full understanding of the present disclosure. However, the present disclosure can be implemented in many other ways than those described herein, and those skilled in the art can make similar generalizations without violating the scope of the present disclosure. Therefore, the present disclosure is not limited to the specific implementations disclosed below.

[0023] The terms used in one or more embodiments of the present disclosure are for the purpose of describing specific embodiments only and are not intended to limit one or more embodiments of the present disclosure. The singular forms "a", "the", and "the" used in one or more embodiments of the present disclosure and the appended claims are also intended to include plural forms, unless the context clearly indicates otherwise. It should also be understood that the term "and / or" used in one or more embodiments of the present disclosure refers to and includes any or all possible combinations of one or more associated listed items.

[0024] It should be understood that although the terms first, second, etc. may be used to describe various information in one or more embodiments of the present disclosure, such information should not be limited to these terms. These terms are only used to distinguish information of the same type from each other. For example, without departing from the scope of one or more embodiments of the present disclosure, the first may also be referred to as the second, and similarly, the second may also be referred to as the first. Depending on the context, the word "if" as used herein may be interpreted as "at the time of" or "when" or "in response to determining".

[0025] It should be noted that the user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data used for analysis, stored data, displayed data, etc.) involved in this disclosure are all information and data authorized by the user or fully authorized by all parties, and the collection, use and processing of relevant data must comply with the relevant laws, regulations and standards of relevant countries and regions, and provide corresponding operation entrances for users to choose to authorize or refuse.

[0026] First, the terms involved in one or more embodiments of the present disclosure are explained.

[0027] Mobile robot swarm scheduling: This refers to planning paths from a starting point to a destination for multiple mobile robots and continuously scheduling the mobile robots to reach the destination as quickly as possible without collision.

[0028] Robot path deadlock: refers to the situation in which two or more mobile robots occupy each other's path resources during the scheduling of a mobile robot cluster, forming a deadlock loop that cannot be moved.

[0029] In order to ensure that mobile robots can respond quickly in large-scale systems using mobile robots (such as hundreds or thousands of mobile robots), distributed cluster scheduling algorithms are generally used to schedule mobile robots in clusters. Distributed cluster scheduling algorithms have low complexity and fast calculation speed, but the conflict coordination ability of mobile robots is poor, and path deadlock of mobile robots is prone to occur.

[0030] If the cost of preventing path deadlocks of mobile robots is high and the distributed cluster scheduling algorithm has poor ability to resolve deadlocks, the path deadlock problem of mobile robots may at best affect handling efficiency and production conditions, and at worst may cause large-scale traffic paralysis and require human intervention.

[0031] Generally speaking, a set of mobile robot scheduling software may be targeted at different industries and business scenarios. The map structures and mobile robot behaviors of different business lines also vary significantly, resulting in a variety of deadlock types. Typical path deadlocks commonly seen in standard grid or road network maps include:

[0032] Rotational deadlock: A mobile robot that supports in-place rotation has its rotational space resources occupied by another mobile robot, and the mobile robot also occupies the other mobile robot's walking or rotation resources. This deadlock situation is more common in workshop transportation scenarios, especially when the mobile robot body or container is large and the cell spacing is small.

[0033] Curve deadlock: A mobile robot that needs to turn along a curve has its turning space resources occupied by other mobile robots, and the mobile robot also occupies the other mobile robot's walking resources. This deadlock situation is generally prone to occur in mobile robots that do not support in-place rotation and can only turn along curves.

[0034] Reverse deadlock: The paths of the mobile robots overlap in the opposite direction. This type of deadlock is common in tunnels.

[0035] Multi-robot circular deadlock: A loop exists in the map direction, causing multiple mobile robots to form a deadlock loop where the heads and tails of the robots wait for each other. This deadlock is prone to occur in sorting and picking scenarios.

[0036] Multi-robot mixed deadlock: The deadlocked mobile robot set contains more than one deadlock cycle or one type of deadlock, or solving the deadlock requires considering other blocked mobile robots outside the core deadlock cycle.

[0037] Considering the aforementioned path deadlock scenario, finding a transfer avoidance point for the mobile robot and constraining its behavior is a common approach to resolving path deadlocks. Scheduling software based on this approach often develops customized de-deadlock strategies for different business lines. For example, reversing rotational and curve deadlocks by stepping back one or more squares, or resolving directional deadlocks by moving forward to find a point. The advantages of this de-deadlock approach are ease of implementation and a short development cycle. However, its disadvantage is that the de-deadlock strategy is relatively simple, requiring customization based on the business scenario and deadlock type. This prevents standardized and reusable scheduling software and is ineffective in resolving complex deadlocks.

[0038] Based on the above problems, the present invention designs a general deadlock-solving algorithm with high standardization and strong reusability, which takes into account multiple factors such as the rigid body model of the mobile robot (a mobile robot model that assumes that the various structural parts of the mobile robot are rigid bodies that do not change in shape and size when subjected to external forces), posture behavior, map characteristics, etc. The algorithm covers various business lines and different types of path deadlocks in warehousing and manufacturing systems, and has a wide coverage capability of deadlock types.

[0039] In the present disclosure, a method for processing a mobile robot path deadlock is provided. The present disclosure also relates to a mobile robot path deadlock processing device, a computing device, and a computer-readable storage medium, which are described in detail one by one in the following embodiments.

[0040] Referring to FIG. 1 , FIG. 1 shows a schematic diagram of processing a deadlock scenario of a mobile robot according to some embodiments of the present disclosure.

[0041] As shown in Figure 1, consider a warehouse system consisting of Robot 1, Robot 2, and Robot 3. As shown in Figure 1 (a), Robot 1 needs to travel downward to exit the alleyway, using the path (A, B, C, D, E, ...). Robots 2 and 3 need to travel upward to reach their destination within the alleyway, with Robot 2's path being (B, A) and Robot 3's path being (C, B). Therefore, Robot 1, Robot 2, and Robot 3 will experience a deadlock in the alleyway.

[0042] In some embodiments, a mobile robot cluster scheduling system is deployed on the server side of the warehousing system. The mobile robot cluster scheduling system includes a deadlock detection unit and a deadlock processing unit.

[0043] The deadlock detection unit can periodically (e.g., every 1, 2, or 3 seconds) detect deadlock conflicts among Robots 1, 2, and 3 in the warehouse system. As shown in Figure 1(a), the deadlock detection unit detects that Robots 1 and 2 are deadlocked in opposite directions in the laneway. At this point, the deadlock detection unit sends the map data, all mobile robot data corresponding to the map data, and the deadlock loop data to the deadlock processing unit. The deadlock processing unit then performs deadlock resolution based on the map data, all robot data, and the deadlock loop data, allowing Robots 1, 2, and 3 to successfully reach their respective destinations.

[0044] Map data can be understood as a map composed of nodes and line segments. A node is a point in the map, and a mobile robot's path consists of multiple nodes. Nodes are connected, and this connectivity is described by line segments. For example, to find an avoidance point for a mobile robot, the robot's current node in the map data is mapped. The robot then searches for surrounding nodes based on the connectivity between these nodes, ultimately finding an optimal avoidance point.

[0045] Mobile robot data includes, but is not limited to, the current node of each mobile robot in the map data, the path of each mobile robot from the current node to the destination, the mobile robot that each mobile robot is waiting for, the first spatial resource range (i.e., envelope) swept by the body trajectory when walking from the current node to the next node of the path, and other business attributes (such as the movement mode of each mobile robot, the size information of the mobile robot, the size information of the container carried by the mobile robot), etc.

[0046] The deadlock loop data includes the mobile robots in each deadlock loop and the current positions of the mobile robots in the map data, etc. A directed graph may be constructed based on the waiting relationships between the mobile robots, and the deadlock loop may be determined based on the directed graph.

[0047] In some embodiments, after receiving the map data, all robot data, and deadlock loop data from the deadlock detection unit, the deadlock handling unit selects a target deadlock loop if multiple deadlock loops are determined to exist. Each mobile robot in the target deadlock loop is used as an entry robot. The path deadlock handling strategy determination method is then executed on each entry robot to efficiently search for the optimal feasible solution from the perspective of the entry robot. In this way, the optimal feasible solution from the perspective of each mobile robot in the target deadlock loop is obtained. The optimal feasible solution with the lowest execution cost is then used as the target solution to resolve the target deadlock loop, allowing each mobile robot in the target deadlock loop to successfully reach its destination.

[0048] As shown in Figure 1(b), the deadlock processing unit calculates the target solution to the deadlock loop using the above method: Robot 3 first moves to point G to avoid the lane, then Robot 2 moves to point F to avoid the lane, and finally Robot 1 leaves the lane. After Robot 1 leaves the lane, Robots 2 and 3 can then travel to their respective destinations, thus resolving the deadlock problem among Robots 1, 2, and 3 in the lane.

[0049] The mobile robot path deadlock processing method provided by the present disclosure can, when it is determined that there is a path deadlock, select an entry robot from the mobile robots in each core deadlock loop based on map data (including cell information, map connectivity information, etc.), all mobile robot data (including real-time position, path information, body size information, container size information, etc.), and deadlock loop data (construct a directed graph based on the waiting relationship of mobile robots and find all deadlock loops), and use the path deadlock processing strategy determination method to efficiently move away its obstacle robots and secondary obstacle robots, so as to ensure that each entry robot can travel smoothly for a certain distance, and all obstacle robots can also go to the avoidance point without direct conflict, and no secondary deadlock occurs.

[0050] Referring to FIG. 2 , FIG. 2 shows a flow chart of a method for handling path deadlock of a mobile robot provided by some embodiments of the present disclosure, which specifically includes the following steps.

[0051] Step 202: Determine target deadlock loop data, map data corresponding to the target deadlock loop data, and initial mobile robot data corresponding to the map data.

[0052] In some embodiments, the mobile robot path deadlock handling method can be applied to any business scenario where a mobile robot is deadlocked, such as warehousing, logistics, clothing, and e-commerce. The following embodiments illustrate the mobile robot path deadlock handling method in a warehousing scenario. For example, the mobile robot path deadlock handling method can be applied to the deadlock handling unit in the above-mentioned embodiments.

[0053] In the case where there are multiple deadlock loops, the target deadlock loop data may be any one of the multiple deadlock loops, such as the core deadlock loop data. That is, only when the core deadlock loop is released can the other deadlock loops be released in sequence.

[0054] The map data corresponding to the target deadlock loop data refers to the map data corresponding to the area where the target deadlock loop occurs. The initial mobile robot data corresponding to the map data refers to all mobile robot data running in the map data corresponding to the area where the target deadlock loop occurs. A detailed explanation of the map data and mobile robot data can be found in the aforementioned embodiments and will not be repeated here.

[0055] Exemplarily, when the deadlock detection unit performs deadlock detection regularly, the deadlock processing unit receives at least one deadlock loop data input by the deadlock detection unit, the map data corresponding to each deadlock loop data (such as the deadlock detection unit can perform deadlock detection on mobile robots in different warehouses, and different warehouses correspond to different map data), and the initial mobile robot data corresponding to each map data at preset time intervals, and then determines the target deadlock loop data, the map data corresponding to the target deadlock loop data, and the initial mobile robot data corresponding to the map data.

[0056] Step 204: Determine at least two deadlocked mobile robots that are deadlocked according to the target deadlock loop data.

[0057] The deadlock mobile robot is a mobile robot that causes a target deadlock loop.

[0058] As in the above embodiment, when the target deadlock loop is the opposite deadlock between robot 1 and robot 2 in the lane, the at least two deadlocked mobile robots included in the target deadlock loop data may be robot 1 and robot 2.

[0059] In some embodiments, after the target deadlock loop data is determined, at least two deadlocked mobile robots forming the target deadlock loop may be determined based on the target deadlock loop data.

[0060] Step 206: Based on the map data and the initial mobile robot data, the path deadlock processing strategy determination method is used to determine the initial path deadlock processing strategy of each deadlocked mobile robot, wherein the path deadlock processing strategy determination method is used to calculate the avoidance path of the conflicting robot when it is determined that there is a conflicting robot that conflicts with any deadlocked mobile robot, and / or, when it is determined that there is an obstacle robot that blocks the conflicting robot, calculate the avoidance path of the obstacle robot.

[0061] Among them, the method for determining the path deadlock processing strategy includes a high-level conflict resolution algorithm and a single-robot pathfinding algorithm. The high-level conflict resolution algorithm can be used to calculate the initial path deadlock processing strategy of any deadlocked mobile robot in the target deadlock loop data. The implementation of the high-level conflict resolution algorithm needs to rely on the single-robot pathfinding algorithm. If there is a conflicting robot that conflicts with any deadlocked mobile robot, the avoidance path of the conflicting robot is calculated according to the single-robot pathfinding algorithm. If there is no obstacle robot that conflicts with the conflicting robot on the avoidance path of the conflicting robot, the optimal solution for releasing the target deadlock loop is determined based on the avoidance path of the conflicting robot; if there is an obstacle robot that conflicts with the conflicting robot on the avoidance path, the avoidance path of the obstacle robot is further calculated according to the single-robot pathfinding algorithm, and the optimal solution for releasing the target deadlock loop is determined based on the avoidance path of the conflicting robot and the avoidance path of the obstacle robot.

[0062] In some embodiments, there may be multiple deadlock mobile robots in a target deadlock loop. Each deadlock mobile robot can be used as an entry robot, and the initial path deadlock processing strategy of each deadlock mobile robot can be calculated through the path deadlock processing strategy determination method, so that the initial path deadlock processing strategy corresponding to each entry robot can be obtained efficiently and accurately.

[0063] In some examples, based on map data and initial mobile robot data, a path deadlock processing strategy determination method is used to determine the initial path deadlock processing strategy of each deadlocked mobile robot, including: sequentially determining any one of at least two deadlocked mobile robots as the target mobile robot; based on map data and initial mobile robot data, a path deadlock processing strategy determination method is used to determine the initial path deadlock processing strategy of the target mobile robot; based on the initial path deadlock processing strategy of the target mobile robot, the initial path deadlock processing strategy of each deadlocked mobile robot is determined.

[0064] Among them, the target mobile robot can also be called a cutting robot.

[0065] Continuing with the above example, at least two deadlocked mobile robots including robot 1 and robot 2 are still used as an example for introduction.

[0066] First, robot 1 is identified as the target mobile robot. Based on the map data and initial mobile robot data, the path deadlock handling strategy determination method is used to determine the initial path deadlock handling strategy for robot 1. Similarly, robot 2 is identified as the target mobile robot. Based on the map data and initial mobile robot data, the path deadlock handling strategy determination method is used to determine the initial path deadlock handling strategy for robot 2. In actual applications, whether the initial path deadlock handling strategy is determined for robot 1 or robot 2 is determined first is not limited in the present embodiment and can be set according to actual needs.

[0067] Then, by taking robot 1 and robot 2 as target mobile robots and obtaining their corresponding initial path deadlock processing strategies, the initial path deadlock processing strategies of each of the at least two deadlocked mobile robots are obtained.

[0068] After obtaining the initial path deadlock processing strategy corresponding to robot 1 and the initial path deadlock processing strategy corresponding to robot 2, the target path deadlock processing strategy can be determined from the initial path deadlock processing strategy corresponding to robot 1 and the initial path deadlock processing strategy corresponding to robot 2, so as to release the target deadlock loop according to the target path deadlock processing strategy.

[0069] In some embodiments, each deadlocked mobile robot can be sequentially determined as a target mobile robot, and then an initial path deadlock handling strategy for each target mobile robot can be determined. Exemplarily, the initial path deadlock handling strategy for the target mobile robot can be determined using a path deadlock handling strategy determination method based on map data and initial mobile robot data. The method includes: creating candidate path deadlock handling strategies for the target mobile robot based on the map data and initial mobile robot data, and adding the candidate path deadlock handling strategies to a path deadlock handling strategy set; determining a current path deadlock handling strategy from the path deadlock handling strategy set; determining whether the current path deadlock handling strategy contains a conflicting robot; if the current path deadlock handling strategy contains a conflicting robot, determining an updated path deadlock handling strategy for the target mobile robot based on the conflicting robot using a conflicting robot avoidance path determination method, adding the updated path deadlock handling strategy to the path deadlock handling strategy set, and continuing to determine the current path deadlock handling strategy from the path deadlock handling strategy set; if the current path deadlock handling strategy contains no conflicting robots, determining the current path deadlock handling strategy as the initial path deadlock handling strategy for the target mobile robot.

[0070] The initial path deadlock handling strategy set is empty. In the subsequent specific implementation process, the path deadlock handling strategies of the target mobile robot will be added to the path deadlock handling strategy set one by one.

[0071] The implementation method for handling the initial path deadlock of the target mobile robot can be understood as the high-level conflict resolution algorithm described in the aforementioned embodiment, while the method for determining the conflict robot's avoidance path can be understood as the single-robot pathfinding algorithm described in the aforementioned embodiment. The following describes the process for determining the initial path deadlock handling strategy for the target mobile robot.

[0072] First, based on the map data and initial mobile robot data, a candidate path deadlock handling strategy for the target mobile robot is created and added to a path deadlock handling strategy set. Then, the current path deadlock handling strategy is determined from the path deadlock handling strategy set. For example, during the initialization phase, if the path deadlock handling strategy set is empty, after the candidate path deadlock handling strategy is added to the path deadlock handling strategy set, the current path deadlock handling strategy determined from the path deadlock handling strategy set can be the candidate path deadlock handling strategy.

[0073] Finally, it is determined whether there is a conflicting robot in the current path deadlock processing strategy. The conflicting robot in the current path deadlock processing strategy refers to whether there is a robot that conflicts with the target mobile robot when the target mobile robot travels along the moving path in the current path deadlock processing strategy.

[0074] If there is a conflicting robot in the current path deadlock processing strategy, the updated path deadlock processing strategy of the target mobile robot is determined based on all the conflicting robots using the conflicting robot avoidance path determination method, and the updated path deadlock processing strategy is added to the path deadlock processing strategy set, and the step of determining the current path deadlock processing strategy from the path deadlock processing strategy set is continued.

[0075] If there is no conflicting robot in the current path deadlock processing strategy, the current path deadlock processing strategy is determined as the initial path deadlock processing strategy of the target mobile robot.

[0076] The mobile robot path deadlock processing method provided by the embodiment of the present disclosure uses each deadlocked mobile robot as the entry robot, and combines a high-level conflict resolution algorithm and a single-robot pathfinding algorithm to efficiently calculate the corresponding optimal initial path deadlock processing strategy for the entry robot, so that even in complex deadlock scenarios, the corresponding deadlock resolution solution can be quickly obtained.

[0077] In some embodiments, the candidate path deadlock handling strategy for the target mobile robot can be accurately created based on the execution plan, conflicting robots, and execution cost. For example, creating the candidate path deadlock handling strategy for the target mobile robot based on map data and initial mobile robot data includes: determining the target mobile robot's moving path from the current position to the preset position, the first spatial resource range swept by the body trajectory when the target mobile robot walks along the moving path, and the conflicting robots occupying the first spatial resource range based on the map data and initial mobile robot data; generating an initial execution plan for the target mobile robot based on the target mobile robot, the moving path, and the first spatial resource range; and creating the candidate path deadlock handling strategy for the target mobile robot based on the initial execution plan, the conflicting robots, and the execution cost of the initial execution plan.

[0078] Among them, the preset position can be set according to the actual application, and the embodiments of the present disclosure do not impose any restrictions on this. For example, the preset position can be the next grid of the current position, that is, the next node in the map data, or it can be a path within a certain range from the current position. The execution cost of the initial execution plan can be determined according to the actual application. For example, the execution cost can be determined based on the number of robots that need to be avoided, the total deadlock-breaking distance of the robots that need to be avoided, the movement mode of the robot (for example, the cost of the robot rotating in place is higher than the cost of the robot moving directly forward or backward), etc.

[0079] The following introduces the process of creating a candidate path deadlock handling strategy for the target mobile robot.

[0080] First, based on the nodes in the map data, the current position of the initial mobile robot in the map data, etc., determine the moving path of the target mobile robot from its current position to the preset position, the first spatial resource range swept by the body trajectory when the target mobile robot walks along the moving path, and the conflicting robots occupying the first spatial resource range. Continuing with the above example, taking the target mobile robot as robot 1, then based on the map data and the initial mobile robot data, the moving path of robot 1 from its current position to the preset position is determined to be (A, B, C, D, E, ...), and the first spatial resource range swept by the body trajectory when the robot 1 walks along the moving path is the spatial resource range of (A, B, C, D, E, ...); and the conflicting robots occupying the first spatial resource range can be understood as robots 2 and 3.

[0081] Then, based on the target mobile robot, the corresponding moving path of the target mobile robot, and the first spatial resource range, an initial execution plan is generated for the target mobile robot. For example, the initial execution plan transferPlan0 = {robot0, path0, pathCover0}, where robot0 is the target mobile robot, path0 is the moving path of the target mobile robot from its current position to the preset position, and pathCover0 is the first spatial resource range swept by the body trajectory when the target mobile robot walks along the moving path. Still taking the target mobile robot as robot 1 as an example, the initial execution plan transferPlan0 = {robot1, path(A,B,C,D,E), pathCover(A,B,C,D,E)}. Where robot represents the robot, path represents the moving path of the robot, and pathCover represents the first spatial resource range of the robot.

[0082] Finally, a candidate path deadlock resolution strategy for the target mobile robot can be created based on the initial execution plan, conflicting robots, and the execution cost of the initial execution plan. For example, the candidate path deadlock resolution strategy rootSolution = {{transferPlan0}, conflictRobots0, cost0}, where transferPlan0 is the initial execution plan, conflictRobots0 is the mobile robot occupying the first spatial resource range, and cost0 is the execution cost. The initial solution cost0 defaults to 0. Continuing with the previous example, with robot 1 as the target mobile robot, the candidate path deadlock resolution strategy rootSolution = {{transferPlans = {{robot1,path(A,B,C,D,E),pathCover(A,B,C,D,E)}}, conflictRobots = {robot2,robot3}, cost0}.

[0083] The mobile robot path deadlock handling method provided by the disclosed embodiment is based on map data and initial mobile robot data. After obtaining the target mobile robot's movement path from its current position to a preset position, the target mobile robot's trajectory sweeping through the first spatial resource range when walking along the movement path, and the conflicting robots occupying the first spatial resource range, the method can quickly generate an initial execution plan for the target mobile robot based on the movement path and the first spatial resource range. Furthermore, based on the initial execution plan, the conflicting robots, and the execution cost of executing the initial execution plan, a candidate path deadlock handling strategy for the target mobile robot can be accurately created, so that when the candidate path deadlock handling strategy is the optimal strategy, the target mobile robot can subsequently perform deadlock resolution according to the candidate path deadlock handling strategy.

[0084] In practical applications, since map data is composed of multiple nodes and the connectivity between nodes, and the current position of the target mobile robot in the map data is represented by a node in the map data, the movement path of the target mobile robot can be determined based on the connectivity between the nodes in the map data. After the movement path of the target mobile robot is determined in the map data, the spatial resource range in the map data that the target mobile robot's body trajectory sweeps through when walking along the movement path can be quickly determined based on the movement path and the initial mobile robot data, as well as the mobile robots occupying this spatial resource range (i.e., the conflicting robots).

[0085] In some embodiments, based on map data and initial mobile robot data, the moving path of the target mobile robot from the current position to the preset position, the first spatial resource range swept by the body trajectory when the target mobile robot walks along the moving path, and the conflicting robot occupying the first spatial resource range are determined, including: determining the current position of the target mobile robot in the map data, and the moving path from the current position to the preset position in the map data; determining the spatial resource range in the map data swept by the body trajectory when the target mobile robot walks along the moving path; and determining the initial mobile robot occupying the first spatial resource range as a conflicting robot based on the initial mobile robot data.

[0086] Continuing with the above example, let's take robot 1 as the target mobile robot.

[0087] First, determine the current node of robot 1 in the map data, and the path from the current node to the preset position in the map data, such as the movement path of robot 1 from the current node A to node E is (A, B, C, D, E). Then, determine the first spatial resource range (A, B, C, D, E) in the map data that is swept by the body trajectory when robot 1 walks along the movement path (A, B, C, D, E). Then, based on the initial mobile robot data, that is, based on the position of the initial mobile robot in the map data, the initial mobile robot occupying the first spatial resource range is determined as a conflicting robot. For example, the initial mobile robot 2 and robot 3 occupying the first spatial resource range are determined as conflicting robots. Among them, the target mobile robot is a subset of the initial mobile robot, and the conflicting robot is also a subset of the initial mobile robot.

[0088] After creating a candidate path deadlock processing strategy for the target mobile robot and adding the candidate path deadlock processing strategy to the path deadlock processing strategy set, the current path deadlock processing strategy can be determined from the path deadlock processing strategy set for subsequent processing.

[0089] In some embodiments, determining a current path deadlock handling strategy from a set of path deadlock handling strategies includes: determining an execution cost corresponding to each path deadlock handling strategy from the set of path deadlock handling strategies, wherein each path deadlock handling strategy includes a candidate path deadlock handling strategy; and determining a current path deadlock handling strategy from each path deadlock handling strategy based on the execution cost corresponding to each path deadlock handling strategy.

[0090] There are one or more path deadlock processing strategies in the path deadlock processing strategy set, and according to the above creation of candidate path deadlock processing strategies for the target mobile robot, each path deadlock processing strategy includes an execution cost.

[0091] Then, the current path deadlock processing strategy may be determined according to the execution cost corresponding to each path deadlock processing strategy in the path deadlock processing strategy set.

[0092] In practical applications, during the initialization phase, a candidate path deadlock handling strategy is created for the target mobile robot and added to the path deadlock handling strategy set. The path deadlock handling strategy set contains only one candidate path deadlock handling strategy. At this point, the candidate path deadlock handling strategy is determined as the current path deadlock handling strategy. In subsequent iterations, if other path deadlock handling strategies exist in the path deadlock handling strategy set besides the candidate path deadlock handling strategy, the path deadlock handling strategy with the lowest execution cost in the path deadlock handling strategy set is selected as the current path deadlock handling strategy.

[0093] The mobile robot path deadlock processing method provided by the embodiment of the present disclosure can conveniently determine the preferred current path deadlock processing strategy from the path deadlock processing strategy set according to the execution cost corresponding to each path deadlock processing strategy in the path deadlock processing strategy set to carry out subsequent processing procedures.

[0094] In some embodiments, after determining the current path deadlock handling strategy, if there is no conflicting robot in the current path deadlock handling strategy, the current path deadlock handling strategy is determined as the initial path deadlock handling strategy of the target mobile robot, that is, the optimal feasible solution from the perspective of the target mobile robot.

[0095] If there is a conflicting robot in the current path deadlock handling strategy, a conflicting robot is taken out from the conflicting robots of the current path deadlock handling strategy in a certain order to execute the single robot pathfinding algorithm to generate one or more updated path deadlock handling strategies, and the above steps are continued to be executed to accurately obtain the initial path deadlock handling strategy of the target mobile robot.

[0096] In some embodiments, based on the conflicting robot, a conflicting robot avoidance path determination method is utilized to determine an updated path deadlock handling strategy for the target mobile robot, including: determining a pathfinding robot based on the conflicting robot, and adding the current position of the pathfinding robot as the initial pathfinding starting point to the pathfinding starting point queue; determining the current pathfinding starting point from the pathfinding starting point queue; judging whether the current pathfinding starting point meets the avoidance point condition; if the current pathfinding starting point meets the avoidance point condition, determining the current pathfinding starting point as the avoidance point, generating an avoidance path and an updated execution plan, and determining the updated path deadlock handling strategy for the target mobile robot based on the avoidance path and the updated execution plan; if the current pathfinding starting point does not meet the avoidance point condition, selecting an adjacent point that meets the waypoint condition from the map data based on the current pathfinding starting point and adding it to the pathfinding starting point queue, and continuing to execute the step of determining the current pathfinding starting point from the pathfinding starting point queue.

[0097] The avoidance point condition requires that the spatial resource range of the low-priority mobile robot at the avoidance point cannot conflict with the spatial resource range of the avoidance path of the high-priority mobile robot. The low-priority mobile robot is the pathfinder robot, and the high-priority mobile robot is the mobile robot corresponding to the execution plan in the historical current path deadlock handling strategy.

[0098] Exemplarily, if there are multiple conflicting robots in the current path deadlock processing strategy, one is first selected from the multiple conflicting robots according to a certain order as a pathfinding robot, and the current position of the pathfinding robot is added to the pathfinding starting point queue as the initial pathfinding starting point; then the current pathfinding starting point is determined from the pathfinding starting point queue; when the current pathfinding starting point meets the avoidance point condition, the current pathfinding starting point is determined as the avoidance point, an avoidance path and an updated execution plan are generated, and the updated path deadlock processing strategy of the target mobile robot is determined based on the avoidance path and the updated execution plan; when the current pathfinding starting point does not meet the avoidance point condition, an adjacent point that meets the waypoint condition is selected from the map data according to the current pathfinding starting point and added to the pathfinding starting point queue, and the step of determining the current pathfinding starting point from the pathfinding starting point queue is continued.

[0099] In practice, during the initialization phase, if only the initial pathfinding starting point exists in the pathfinding starting point queue, then the initial pathfinding starting point can be determined as the current pathfinding starting point. In subsequent iterations, if other pathfinding starting points exist in the pathfinding starting point queue in addition to the initial pathfinding starting point, the pathfinding starting point with the lowest execution cost can be selected as the current pathfinding starting point.

[0100] Exemplarily, determining the current pathfinding starting point from the pathfinding starting point queue includes: determining the execution cost corresponding to each pathfinding starting point from the pathfinding starting point queue, and determining the current pathfinding starting point from each pathfinding starting point based on the execution cost corresponding to each pathfinding starting point, wherein each pathfinding starting point includes the initial pathfinding starting point.

[0101] In some embodiments, in the non-initialization stage, if there are multiple pathfinding starting points in the pathfinding starting point queue, the execution cost corresponding to each pathfinding starting point in the pathfinding starting point queue can be determined, and then the pathfinding starting point with the smallest execution cost can be used as the current pathfinding starting point, thereby further improving the efficiency of obtaining the initial path deadlock processing strategy of the target mobile robot.

[0102] In practical applications, if the current pathfinding starting point is determined to meet the avoidance point conditions, the current pathfinding starting point can be determined as the avoidance point, and an avoidance path and updated execution plan can be generated. Subsequently, based on this avoidance path and updated execution plan, an updated path deadlock handling strategy for the target mobile robot can be created. This allows the candidate path deadlock handling strategy to be used to update the path deadlock handling strategy, thereby more accurately obtaining the initial path deadlock handling strategy for the target mobile robot.

[0103] In some examples, determining the current pathfinding starting point as an avoidance point, generating an avoidance path, and updating the execution plan include: determining the current pathfinding starting point as an avoidance point, and backtracking to generate an avoidance path based on the position of the avoidance point in the map data; generating an updated execution plan based on the pathfinding robot, the avoidance path, and the second spatial resource range swept by the body trajectory when the pathfinding robot walks along the avoidance path.

[0104] Among them, backtracking can be understood as the process of tracing back from the avoidance point to the search starting point of the path-finding robot.

[0105] In some embodiments, when the current pathfinding starting point is an avoidance point, an avoidance path for the pathfinding robot can be backtracked based on the location of the avoidance point in the map data. An updated execution plan is then generated based on the pathfinding robot, its avoidance path, and the range of the second spatial resources swept by the pathfinding robot's trajectory while walking along the avoidance path. The implementation of this updated execution plan can be found in the specific implementation steps of the initial execution plan in the above-mentioned embodiments and will not be further described here.

[0106] After generating the avoidance path and updating the execution plan, a deadlock handling strategy for the target mobile robot's updated path can be quickly created based on the avoidance path and the updated execution plan. For example, determining the deadlock handling strategy for the target mobile robot's updated path based on the avoidance path and the updated execution plan includes: determining a second spatial resource range swept by the pathfinder robot's trajectory when it walks along the avoidance path; determining the initial mobile robot occupying the second spatial resource range as an obstacle robot based on the initial mobile robot data; and determining the deadlock handling strategy for the target mobile robot based on the target execution plan, the updated conflicting robots, and the execution cost of the target execution plan.

[0107] The target execution plan is determined based on the updated execution plan and the historical execution plan of the current path deadlock processing strategy, and the updated conflicting robot is determined based on the conflicting robot and the obstacle robot.

[0108] In some embodiments, the second spatial resource range swept by the body trajectory of the path-finding robot when walking along the avoidance path is first determined; then, the node position of the initial mobile robot in the map data is determined based on the initial mobile robot data, and the initial mobile robot occupying the second spatial resource range is determined as an obstacle robot based on the node position; then, based on the union of the updated execution plan and the historical execution plan of the current path deadlock handling strategy, the target execution plan is determined, as well as the union of the conflicting robots corresponding to the obstacle robot and the current path deadlock handling strategy, and then the current path-finding robot is removed to determine the updated conflicting robot; finally, based on the target execution plan, the updated conflicting robot, and the execution cost of the target execution plan, the updated path deadlock handling strategy of the target mobile robot is created. Subsequently, the initial path deadlock handling strategy of the target mobile robot, i.e., the optimal deadlock resolution strategy, can be more accurately calculated based on the updated path deadlock handling strategy of the target mobile robot and the candidate path deadlock handling strategies of the target mobile robot.

[0109] In addition, the execution plan for the historical current path deadlock handling strategy is expressed as follows:

[0110] During the initialization phase, if the current path deadlock handling strategy is the candidate path deadlock handling strategy, the execution plan of the historical current path deadlock handling strategy can be considered the initial execution plan. In this case, the target execution plan can be considered the union of the initial execution plan and the updated execution plan. For example, if the initial execution plan is transferPlan0 and the updated execution plan is transferPlan1, then the target execution plan can be considered the union of transferPlan0 and transferPlan1.

[0111] Continuing with this example, in the subsequent iteration stage, if the update path deadlock handling strategy is the current path deadlock handling strategy, the execution plan of the historical current path deadlock handling strategy includes the initial execution plan and the update execution plan. At this time, the target execution plan can be understood as the union of the initial execution plan transferPlan0, the update execution plan transferPlan1 and another update execution plan transferPlan2.

[0112] After multiple iterations, the execution plan of the historical current path deadlock processing strategy can be understood as all execution plans of the historical current path deadlock processing strategy.

[0113] In specific application scenarios, a pathfinding robot may have at least two motion modes, such as forward and backward. Depending on the motion mode, the pathfinding robot may generate at least two avoidance paths and at least two update execution plans. Therefore, a more accurate update path deadlock handling strategy for the target mobile robot must be generated based on these two avoidance paths and update execution plans.

[0114] Exemplarily, the pathfinding robot includes at least two motion modes; the current pathfinding starting point is determined as an avoidance point, an avoidance path and an update execution plan are generated, and based on the avoidance path and the update execution plan, the update path deadlock processing strategy of the target mobile robot is determined, including: the current pathfinding starting point is determined as an avoidance point, at least two avoidance paths and at least two update execution plans are generated, and based on the at least two avoidance paths and at least two update execution plans, the update path deadlock processing strategy of the target mobile robot is determined.

[0115] In some embodiments, the update path deadlock handling strategy of the target mobile robot is determined based on at least two avoidance paths and at least two update execution plans. The implementation method of determining the update path deadlock handling strategy of the target mobile robot based on the avoidance path and the update execution plan is the same as that in the above embodiment, and will not be repeated here.

[0116] In some embodiments, when the current path finding starting point does not meet the avoidance point conditions, it is necessary to select an adjacent point that meets the waypoint conditions from the map data based on the current path finding starting point and add it to the path finding starting point queue, and continue to execute the step of determining the current path finding starting point from the path finding starting point queue.

[0117] The waypoint conditions can be set according to actual needs. In the embodiment of the present disclosure, the waypoint conditions can be: connectivity constraints of nodes in the map data, distance range constraints, and collision detection constraints.

[0118] The distance range constraint can be that the distance between the adjacent point and the pathfinding robot is less than or equal to a preset distance (for example, the preset distance can be 1 meter or 2 meters, etc.) to avoid the adjacent point search range being too large. The collision detection constraint can be that the avoidance path envelope of the low-priority robot is determined based on the current position of the low-priority robot and the adjacent point, and must not conflict with the envelope currently occupied by the high-priority robot (such as the current position of the high-priority robot) to avoid the low-priority robot being blocked by the high-priority robot when moving along the avoidance path.

[0119] After obtaining the initial path deadlock processing strategy of each target mobile robot, the initial path deadlock processing strategy of each deadlocked mobile robot is determined. Subsequently, the target path deadlock processing strategy can be determined based on the initial path deadlock processing strategy of each deadlocked mobile robot, so as to release the target deadlock loop according to the target path deadlock processing strategy.

[0120] Step 208: Determine a target path deadlock processing strategy from the initial path deadlock processing strategies of each deadlocked mobile robot, and release the target deadlock loop according to the target path deadlock processing strategy.

[0121] According to the above embodiment, each deadlocked mobile robot's initial path deadlock handling strategy includes an execution cost. To improve the efficiency of releasing the target deadlock loop, the initial path deadlock handling strategy with the lowest execution cost can be selected as the target path deadlock handling strategy to release the target deadlock loop.

[0122] Exemplarily, determining a target path deadlock handling strategy from the initial path deadlock handling strategies of each deadlocked mobile robot includes: determining the execution cost of the initial path deadlock handling strategy of each deadlocked mobile robot; and determining the target path deadlock handling strategy based on the execution cost of the initial path deadlock handling strategy of each deadlocked mobile robot. The target path deadlock handling strategy can be understood as the initial path deadlock handling strategy with the lowest execution cost among the execution costs of the initial path deadlock handling strategies of each deadlocked mobile robot.

[0123] The mobile robot path deadlock handling method provided by the disclosed embodiments sequentially calculates an initial path deadlock handling strategy for each deadlocked mobile robot in a target deadlock loop, combining map data and initial mobile robot data. The method accurately calculates the initial path deadlock handling strategy for each deadlocked mobile robot, taking into account the avoidance paths of the conflicting robots and the avoidance paths of the obstacle robots blocking the conflicting robots, thereby resolving complex path deadlocks. Furthermore, if multiple deadlocked mobile robots each have corresponding initial path deadlock handling strategies, a more appropriate target path deadlock handling strategy can be obtained from these strategies, thereby effectively removing path obstacles for each deadlocked mobile robot at a lower cost and ensuring smooth passage for each deadlocked mobile robot in the target deadlock loop.

[0124] Referring to FIG3 , FIG3 shows a processing flow chart of a method for processing a mobile robot path deadlock provided by some embodiments of the present disclosure, which specifically includes the following steps.

[0125] In some embodiments, the method is applied to a deadlock processing unit of a mobile robot cluster scheduling system; the process begins:

[0126] Step 302: Receive map data, all robot data, and core deadlock loop data; set solutions = {}.

[0127] Here, solutions can be understood as solutions, that is, a set of initial path deadlock processing strategies; map data, all robot data, and core deadlock loop data can be found in the detailed introduction of the above embodiment.

[0128] Step 304: Select a robot from the core deadlock ring as the entry robot.

[0129] The core deadlock loop may be understood as the target deadlock loop of the above embodiment, and the cutting robot may be understood as the target mobile robot of the above embodiment.

[0130] Step 306: Execute the high-level conflict resolution algorithm to search for the optimal feasible solution from the perspective of the cutting robot. If the solution is successful, put it into solutions.

[0131] In some embodiments, a high-level conflict resolution algorithm is executed from the perspective of the entry robot to search for the optimal feasible solution. If the solution is successful, it is placed in solutions. This can be understood as in the above embodiment, based on the map data and the initial mobile robot data, the path deadlock processing strategy determination method is used to determine the initial path deadlock processing strategy of the target mobile robot, and the initial path deadlock processing strategy is placed in solutions.

[0132] Step 308: Determine whether all robots in the core deadlock loop have completed traversal. If so, execute step 310; if not, continue to execute step 304.

[0133] Step 310: The solution fails or the solution with the minimum cost among solutions is output.

[0134] In some embodiments, after all robots in the core deadlock loop are traversed, if solutions is not empty, the solution with the lowest execution cost in solutions is taken as the optimal solution, that is, the target path deadlock processing strategy, and the target deadlock loop can be subsequently released according to the target path deadlock processing strategy; if solutions is empty, the solution fails.

[0135] In conjunction with step 306 , refer to FIG. 4 , which shows a processing flow chart of a high-level conflict resolution algorithm provided by some embodiments of the present disclosure, specifically including the following steps.

[0136] Step 402: Determine the cut-in robot.

[0137] Step 404: Create an empty candidate solution set queue solutionQueue={} for the entry robot.

[0138] The solutionQueue can be understood as the path deadlock processing strategy set in the above embodiment, and all candidate solutions in the path deadlock processing strategy set (ie, all path deadlock processing strategies) are sorted in ascending order of execution cost.

[0139] Step 406: Create an initial solution rootSolution for the entry robot and add it to the solutionQueue.

[0140] The initial solution rootSolution can be understood as the candidate path deadlock processing strategy of the above embodiment.

[0141] In some embodiments, the specific method for creating an initial solution for the entry robot is: generate a virtual execution plan (i.e., initial execution plan) transferPlan0 = {robot0, path0, pathCover0} for the entry robot. Wherein, robot0 is the entry robot, path0 is the path of the entry robot from the current position to the next grid or a certain range (i.e., the moving path from the current position to the preset position), and pathCover0 is the spatial resource range swept by the body trajectory of the entry robot when walking along path0 (i.e., the first spatial resource range, which can also be referred to as the envelope). If the conflicting robot occupying the envelope range is conflictRobots0, then the initial solution rootSolution = {{transferPlan0}, conflictRobots0, cost0}, and the execution cost cost0 in the initial solution defaults to 0.

[0142] In addition, the cost evaluation method of the deadlock solution can be evaluated by comprehensively considering factors such as the number of mobile robots, the length of the avoidance path, and the robot motion mode. The specific cost evaluation method is not limited.

[0143] Step 408: Determine whether solutionQueue is empty. If so, execute step 410; if not, execute step 412.

[0144] Step 410: The search fails and an empty solution is output.

[0145] Step 412: Replace the solution currentSolution with the minimum cost from solutionQueue.

[0146] In some embodiments, replacing the solution currentSolution with the lowest cost from the solutionQueue can be understood as determining the current path deadlock handling strategy from the path deadlock handling strategy set in the above embodiment. That is, the current path deadlock handling strategy is the current solution currentSolution.

[0147] Step 414: Determine whether there is a conflicting robot in the currentSolution. If so, execute step 418; if not, execute step 416.

[0148] Step 416: Output currentSolution as the optimal feasible solution for the robot.

[0149] In some embodiments, outputting currentSolution as the optimal feasible solution for the entry robot can be understood as determining the current path deadlock processing strategy in the above embodiment as the initial path deadlock processing strategy of the target mobile robot.

[0150] Step 418: Select the conflicting robot to execute the single-robot pathfinding algorithm.

[0151] In some embodiments, the conflicting robot is selected to execute the single-robot path-finding algorithm, which can be understood as the conflicting robot avoidance path determination method of the above embodiment.

[0152] That is, a conflicting robot is selected from the set of conflicting robots in the current solution, in a certain order, to execute the [Single Robot Pathfinding Algorithm]. If the number of conflicting robots is greater than one, a different robot can be selected for pathfinding in this round, generating multiple execution plans accordingly. If the robot supports different motion modes, such as forward or reverse, multiple execution plans can be generated for the same robot according to different motion modes. Furthermore, generally speaking, a robot does not need to rotate when reversing along its original path, so reverse is sometimes more suitable for resolving rotational deadlocks than forward. However, if the robot lacks a backward obstacle avoidance sensor, reverse may pose a collision risk, so it is generally undesirable for the robot to reverse too many squares.

[0153] Step 420: If one or more new execution plans are found, generate a neighborhood solution and update the conflicting robots and execution costs, and release the neighborhood into the solutionQueue.

[0154] The new execution plan can be understood as the updated execution plan of the above embodiment, and the neighborhood solution can be understood as the updated path deadlock processing strategy of the above embodiment.

[0155] In some embodiments, the specific scheme for creating a neighborhood solution is: new execution plan transferPlan = {robot, path, pathCover}. Among them, robot is the conflicting robot in this pathfinding, path is the avoidance path searched by the robot, and pathCover is the envelope of the robot's avoidance path. Neighborhood solution neighborhoodSolution = {{currentSolution.transferPlans∪transferPlan}, {currentSolution.conflictRobots∪transferPlan.conflictRobots}-robot, cost}. Among them, the execution plan of the neighborhood solution is equal to the union of all execution plans of the current solution and the new execution plan; the conflicting robot set of the neighborhood solution is equal to the union of the conflicting robot set of the current solution and the conflicting robots newly generated by the new execution plan, and then the current pathfinding robot is removed; the solution cost of the neighborhood solution needs to be re-evaluated.

[0156] In conjunction with step 418, refer to Figure 5, which shows a processing flow chart of a single robot pathfinding algorithm provided by some embodiments of the present disclosure, which specifically includes the following steps.

[0157] Step 502: Get the current path-finding robot.

[0158] In some embodiments, obtaining the current pathfinding robot can be understood as taking a conflicting robot from the conflicting robot set of the current solution currentSolution in a certain order as the current pathfinding robot.

[0159] Step 504: Extract the upstream execution plan and the corresponding high-priority robot's own envelope and avoidance path envelope from the current solution.

[0160] In some embodiments, after determining the current pathfinding robot, all upstream execution plans of the upper-level current solution, as well as the self-envelope and avoidance path envelope of the corresponding high-priority robots, are obtained. The priority of all robots executing upstream plans is higher than that of the current pathfinding robot.

[0161] Step 506: Put the current position of the current path-finding robot into the candidate queue.

[0162] The candidate queue can be understood as the path-finding starting point queue in the above embodiment.

[0163] In some embodiments, during initialization, an empty candidate queue is first created. The candidate queue points can be sorted using the classic breadth-first or depth-first search method, or can be sorted according to a custom cost evaluation method; then the current position of the current pathfinding robot is used as the search starting point and placed in the candidate queue.

[0164] Step 508: Determine whether the candidate queue is empty. If so, execute step 510; if not, execute step 512.

[0165] Step 510: The search fails and ends.

[0166] Step 512: Select the point with the minimum cost from the candidate queue as the current point.

[0167] Among them, the current point can be understood as the current path finding starting point; that is, selecting the point with the lowest cost from the candidate queue as the current point can be understood as determining the current path finding starting point from the path finding starting point queue in the above embodiment.

[0168] Step 514: Determine whether the current point meets the avoidance point condition. If so, execute step 516; if not, execute step 518.

[0169] Step 516: Using the current point as the avoidance point, construct and output an execution plan.

[0170] In some embodiments, the current point is used as the avoidance point to construct and output an execution plan. This can be understood as in the above embodiment, determining the current path-finding starting point as the avoidance point, generating an avoidance path, and updating the execution plan.

[0171] Step 518: Expand adjacent points for the current point, select adjacent points that meet the waypoint conditions, put them into the candidate queue, and continue to execute step 508.

[0172] In some embodiments, adjacent points are expanded for the current point, and adjacent points that meet the waypoint conditions are screened out and placed in an alternative queue. This can be understood as in the above embodiment, based on the current path finding starting point, adjacent points that meet the waypoint conditions are selected from the map data and added to the path finding starting point queue.

[0173] The mobile robot path deadlock processing method provided by the embodiment of the present disclosure selects an entry robot from each core deadlock loop, and moves its obstacle robots and secondary obstacle robots away through a high-level conflict resolution algorithm and a single-robot pathfinding algorithm to ensure that the entry robot can pass smoothly for a certain distance, and all obstacle robots can go to the avoidance point without direct conflict and without secondary deadlock. Through the general deadlock resolution algorithm that considers multiple factors such as the robot's rigid body model, posture behavior, and map characteristics, it covers different types of deadlocks in various business lines of warehousing and manufacturing systems, greatly improving the efficiency of deadlock resolution processing.

[0174] 3 , 4 , and 5 , the mobile robot path deadlock processing method provided by the present disclosure is introduced by taking an example of applying the opposite deadlock scenario.

[0175] 6 , which shows a schematic diagram of a mobile robot path deadlock processing method provided by some embodiments of the present disclosure applied to an opposing deadlock scenario.

[0176] As shown in Figure 6 (a), robots 1 and 2 are deadlocked in opposite directions in a lane. Robot 1 wants to exit the lane downward, while robots 2 and 3 want to move upward to their destinations within the lane. Robot 1's path is (A, B, C, D, E, ...), robot 2's path is (B, A), and robot 3's path is (C, B). The specific steps to resolve the deadlock are as follows:

[0177] Step 1: Determine the core deadlock loop of robot 1 and robot 2.

[0178] Step 2: Take robot 2 as the entry robot, and the conflicting robot is robot 1.

[0179] However, since there are no avoidance points around robot 1, there is no feasible solution from the perspective of the robot.

[0180] Step 3: Using robot 1 as the entry robot, create a virtual execution plan: transferPlan0 = {robot1, path(A,B,C,D,E), pathCover(A,B,C,D,E)}. The virtual execution plan path range is defined as the intersection between the entry robot and the lane, from point A to point E. The conflicting robots within this path range are robots 2 and 3. Based on this, we obtain the initial solution: rootSolution = {transferPlans = {{robot1, path(A,B,C,D,E), pathCover(A,B,C,D,E)}}, conflictRobots = {robot2,robot3}, cost0}.

[0181] Step 4: Using robot 1 as the entry robot, start high-level iterative search using the high-level conflict resolution algorithm.

[0182] Step 5: In the first iteration, the conflicting robot is selected from the initial solution: Robot 2 executes the single-robot pathfinding algorithm, requiring that the avoidance path cannot conflict with the current envelope of the high-priority robot (i.e., Robot 1) executing the plan upstream, and that the stop envelope of Robot 2 at the avoidance point cannot conflict with the path envelope of the high-priority robot.

[0183] In some embodiments, Robot 2 executes a single-robot pathfinding algorithm, first determining point B as an avoidance point (i.e., the current pathfinding starting point) and placing it in the pathfinding starting point queue. If it is determined that point B does not meet the avoidance point conditions (i.e., the stopping envelope of Robot 2 at point B conflicts with the avoidance path envelope of the higher-priority Robot 1), the adjacent points of point B are expanded, and adjacent points C, D, E, F, and G that meet the waypoint conditions (i.e., comply with map connectivity constraints, comply with distance range constraints, and meet collision detection constraints) are selected and placed in the pathfinding starting point queue. Then, from the adjacent points C, D, E, F, and G in the pathfinding starting point queue, the adjacent point C with the lowest execution cost is selected as the avoidance point and the above steps are continued until the loop reaches point F. If it is determined that point F meets the avoidance point conditions, point F is set as the avoidance point for Robot 2.

[0184] As shown in (b) of Figure 6, point F is finally selected as the avoidance point of robot 2, and the neighborhood solution neighborhoodSolution = {transferPlans = {{robot1,path(A,B,C,D,E),pathCover(A,B,C,D,E)},{robot2,path(B,C,D,F),pathCover(B,C,D,F)}},conflictRobots = {robot3},cost}.

[0185] Step 6: In the second iteration, the conflicting robots are selected from the current solution: Robot 3 executes the single-robot pathfinding algorithm, and the high-priority robots become Robots 1 and 2. The avoidance path must not conflict with the current envelopes of Robots 1 and 2, and the stopping envelope of Robot 3 at the avoidance point must not conflict with the path envelopes of Robots 1 and 2.

[0186] As shown in (c) of Figure 6, point G is finally selected as the avoidance point of robot 3, and the neighborhood solution is obtained: neighborhoodSolution = {transferPlans = {{robot1,path(A,B,C,D,E),pathCover(A,B,C,D,E)},{robot2,path(B,C,D,F),pathCover(B,C,D,F)},{robot3,path(C,D,F,G),pathCover(C,D,F,G)}},conflictRobots = {},cost}.

[0187] Step 7: In the third iteration, the conflicting robot of the current solution is empty, and the current solution is output as the optimal feasible solution from the perspective of the current entering robot: robot 1.

[0188] Step 8: Output the final deadlock resolution plan, which is for robot 3 to go to point G first, then for robot 2 to go to point F, and finally for robot 1 to leave the lane.

[0189] Alternatively, in step 5, robot 3 could be selected to perform single-robot pathfinding first in the first iteration. However, when pathfinding for robot 2 is performed later, robots 1 and 3 are prioritized. At this point, all feasible directions for robot 2 conflict with those of robots 1 and 3, resulting in pathfinding failure. This means that the order of robot 2 exiting the lane first and robot 3 exiting later is not feasible.

[0190] 3 , 4 , and 5 , the mobile robot path deadlock processing method provided by the present disclosure is applied to a rotation deadlock scenario and a curve deadlock scenario as an example, and the processing methods for different deadlock scenarios are introduced respectively.

[0191] Refer to FIG7 for a schematic diagram of a mobile robot path deadlock processing method applied to a rotation deadlock scenario.

[0192] As shown in Figure 7(a), if Robot 1 needs to rotate in place at point E, Robots 2, 3, and 4 need to move to the right. For example, the rotational space resources required for Robot 1's rotation in place at point E are the circle shown in Figure 7(a). Since part of Robot 1's rotational space resources are occupied by Robot 2, if Robot 1 rotates in place at point E, it will collide with Robot 2, resulting in a rotational deadlock between Robots 1 and 2. Assume that all robots are on a one-way road and can only move backward to the left or forward to the right.

[0193] Taking robot 1 as the entry robot, the process of solving the target deadlock loop shown in Figure 7(a) is as follows:

[0194] First, create a virtual execution plan for robot 1: transferPlan0 = {robot1, path(E), pathCover(E)}. The conflicting robot within path(E) is robot 2. Based on this, we obtain the initial solution rootSolution = {transferPlans = {{robot1, path(E), pathCover(E)}}, conflictRobots = {robot2}, cost0}.

[0195] Next, a high-level iterative search is initiated using the high-level conflict resolution algorithm. In the first iteration, the conflicting robot (i.e., robot 2) is selected from the initial solution and the single-robot pathfinding algorithm is executed. Point C is determined as the avoidance point for robot 2. The new execution plan is transferPlan = {robot2, path(D,C), pathCover(D,C)}. The new conflicting robot generated by this new execution plan is robot 3, resulting in the neighborhood solution neighborSolution = {transferPlans = {{robot1, path(E), pathCover(E)}, {robot2, path(D,C), pathCover(D,C)}}, conflictRobots = {robot3}, cost}.

[0196] After that, the second iteration is performed. The conflicting robot 3 in the current solution is selected to execute the single-robot pathfinding algorithm. At this time, the high-priority robots become robots 1 and 2. Point B is selected as the avoidance point for robot 3. This results in the neighborhood solution neighborSolution = {transferPlans = {{robot1,path(E),pathCover(E)},{robot2,path(D,C),pathCover(D,C)},{robot3,path(C,B),pathCover(C,B)}},conflictRobots = {robot4},cost}.

[0197] Then perform the third iteration and select the conflicting robot 4 in the current solution to execute the single robot pathfinding algorithm. Similarly, we can obtain the neighborhood solution neighborSolution = {transferPlans = {{robot1,path(E),pathCover(E)},{robot2,path(D,C),pathCover(D,C)},{robot3,path(C,B),pathCover(C,B)},{robot4,path(B,A),pathCover(B,A)}},conflictRobots = {},cost}.

[0198] Then, the fourth iteration is performed. If the conflicting robot for the current solution is empty, the current solution from the perspective of robot 1 is output as the optimal feasible solution. As shown in Figure 7(b), the final deadlock resolution plan is: robot 4 moves to point A to avoid the problem, robot 3 moves to point B to avoid the problem, robot 2 moves to point C to avoid the problem, and finally robot 1 completes its rotation at point E and continues moving.

[0199] Refer to FIG8 for a schematic diagram of a mobile robot path deadlock processing method applied to a curve deadlock scenario.

[0200] As shown in (a) in Figure 8, if the original path of robot 1 is (A, C, ...), the original path of robot 2 is (B, A), and the original path of robot 3 is (E, B, A), then when robot 1 is moving along curve m, the curve turning space resources of robot 1 are occupied by robot 2 (robot 1 will collide with robot 2 when moving along curve m), and robot 1 also occupies the walking resources of robot 2 and robot 3, so robot 1 will conflict with robot 2 and robot 3, resulting in curve deadlock.

[0201] Taking robot 1 as the entry robot, the process of solving the target deadlock loop shown in (a) of Figure 8 is as follows:

[0202] First, create a virtual execution plan for robot 1: transferPlan0 = {robot1, path(A,C), pathCover(A,C)}. The conflicting robot within path(A,C) is robot 2. Based on this, we obtain the initial solution rootSolution = {transferPlans = {{robot1, path(A,C), pathCover(A,C)}}, conflictRobots = {robot2}, cost0}.

[0203] Next, a high-level iterative search is initiated using the high-level conflict resolution algorithm. In the first iteration, the conflicting robot (i.e., Robot 2) is selected from the initial solution to execute the single-robot pathfinding algorithm, requiring that its avoidance path cannot conflict with Robot 1's current envelope, and that Robot 2's stopping envelope at the avoidance point cannot conflict with Robot 1's path envelope.

[0204] When executing the single-robot pathfinding algorithm for Robot 2, point B is first determined as the avoidance point (i.e., the current pathfinding starting point) and placed in the pathfinding starting point queue. If it is determined that point B does not meet the avoidance point conditions (i.e., the stopping envelope of Robot 2 at point B conflicts with the avoidance path envelope of Robot 1), the adjacent points for point B are expanded. As can be understood, if Robot 2 rotates at point B and avoids to point C, the stopping envelope of avoidance point C will conflict with the path envelope of Robot 1. Therefore, the adjacent points that meet the waypoint conditions are points D, E, and F, and these adjacent points are placed in the pathfinding starting point queue. Then, from the adjacent points D, E, and F in the pathfinding starting point queue, the adjacent point E with the lowest execution cost is selected. (As can be understood, if point D is selected as the avoidance point, Robot 2 needs to rotate at point B, so the execution cost of point D is higher than that of point E.) If point E meets the avoidance point conditions, point E is determined as the avoidance point for Robot 2.

[0205] Next, when point E is the avoidance point of robot 2, the new execution plan transferPlan = {robot2,path(B,E),pathCover(B,E)}, and the new conflicting robot generated by this new execution plan is robot 3, thus obtaining the neighborhood solution neighborSolution = {transferPlans = {{robot1,path(A,C),pathCover(A,C)},{robot2,path(B,E),pathCover(B,E)}},conflictRobots = {robot3},cost}.

[0206] After that, the second iteration is performed. The conflicting robot 3 in the current solution is selected to execute the single-robot pathfinding algorithm. At this time, the high-priority robots become robots 1 and 2. If robot 3's avoidance path does not conflict with the current envelopes of robots 1 and 2, and robot 3's stop envelope at the avoidance point does not conflict with the path envelopes of robots 1 and 2, point F is selected as robot 3's avoidance point. This results in the neighborhood solution neighborSolution = {transferPlans = {{robot1,path(A,C),pathCover(A,C)}, {robot2,path(B,E),pathCover(B,E)}, {robot3,path(E,F),pathCover(E,F)}}, conflictRobots = {}, cost}.

[0207] Next, the third iteration is performed. If the conflicting robot for the current solution is empty, the current solution from the perspective of robot 1 is output as the optimal feasible solution. As shown in Figure 8(b), the final deadlock resolution plan is: robot 3 moves to point F to avoid the problem, robot 2 moves to point E to avoid the problem, and finally robot 1 moves along the curved path m.

[0208] In summary, the target path deadlock handling strategy output by the mobile robot path deadlock handling method can include multiple robot execution plans with a sequence, ensuring that all deadlock-free robots arrive at the avoidance point without conflict, and can clear path obstacles that cut into a certain range of the robot at a lower cost, ensuring its smooth passage.

[0209] Specifically, the advantages of the mobile robot path deadlock processing method provided by the embodiment of the present disclosure are:

[0210] (1) Covering a wide range of business lines and deadlock types. The mobile robot path deadlock processing method not only supports two-robot and multi-robot deadlock resolution, but also supports solving different types of deadlocks. (2) High deadlock resolution success rate. First, the mobile robot path deadlock processing method uses complex and precise motion envelopes as solution constraints to ensure that the deadlock resolution solution will not be unable to execute due to envelope conflicts; second, the mobile robot path deadlock processing method supports orderly and conflict-free multi-step deadlock resolution, which can cover relatively complex multi-robot deadlock scenarios; finally, the mobile robot path deadlock processing method can flexibly combine execution plans for different motion modes such as forward and backward, and has more abundant deadlock resolution methods. (3) Good framework scalability. The algorithm framework designed based on the mobile robot path deadlock processing method can be optimized and improved, such as customizing the cost evaluation method of the high-level conflict resolution algorithm and the single-robot pathfinding algorithm, and customizing the path range for the robot to clear obstacles, so as to achieve the purpose of optimizing the algorithm effect and adapting to different business needs.

[0211] Corresponding to the above-mentioned method embodiments, the present disclosure also provides embodiments of a mobile robot path deadlock processing device. FIG9 shows a schematic structural diagram of a mobile robot path deadlock processing device provided by some embodiments of the present disclosure. As shown in FIG9 , the device includes:

[0212] a data determination module 902 configured to determine target deadlock loop data, map data corresponding to the target deadlock loop data, and initial mobile robot data corresponding to the map data;

[0213] A robot determination module 904 is configured to determine at least two deadlocked mobile robots that are deadlocked according to the target deadlock loop data;

[0214] an initial strategy determination module 906 configured to determine an initial path deadlock handling strategy for each deadlocked mobile robot based on the map data and the initial mobile robot data using a path deadlock handling strategy determination method, wherein the path deadlock handling strategy determination method is configured to calculate an avoidance path for the conflicting robot if a conflicting robot is determined to be in conflict with any of the deadlocked mobile robots, and / or to calculate an avoidance path for the obstacle robot if an obstacle robot is determined to be blocking the conflicting robot;

[0215] The deadlock resolution module 908 is configured to determine a target path deadlock processing strategy from the initial path deadlock processing strategies of each deadlocked mobile robot, and resolve the target deadlock loop according to the target path deadlock processing strategy.

[0216] In some embodiments, the initial strategy determination module 906 is further configured to: determine any one of the at least two deadlocked mobile robots as the target mobile robot in turn; determine the initial path deadlock processing strategy of the target mobile robot using the path deadlock processing strategy determination method based on the map data and the initial mobile robot data; determine the initial path deadlock processing strategy of each deadlocked mobile robot based on the initial path deadlock processing strategy of the target mobile robot.

[0217] In some embodiments, the initial strategy determination module 906 is further configured to: create a candidate path deadlock processing strategy for the target mobile robot based on the map data and the initial mobile robot data, and add the candidate path deadlock processing strategy to the path deadlock processing strategy set; determine the current path deadlock processing strategy from the path deadlock processing strategy set; if there is a conflicting robot in the current path deadlock processing strategy, then determine the updated path deadlock processing strategy of the target mobile robot based on the conflicting robot and using the conflicting robot avoidance path determination method, and add the updated path deadlock processing strategy to the path deadlock processing strategy set, and continue to execute the step of determining the current path deadlock processing strategy from the path deadlock processing strategy set; if there is no conflicting robot in the current path deadlock processing strategy, then determine the current path deadlock processing strategy as the initial path deadlock processing strategy of the target mobile robot.

[0218] In some embodiments, the initial strategy determination module 906 is further configured to: determine the moving path of the target mobile robot from the current position to the preset position, the first spatial resource range swept by the body trajectory when the target mobile robot walks along the moving path, and the conflicting robots occupying the first spatial resource range based on the map data and the initial mobile robot data; generate an initial execution plan for the target mobile robot based on the target mobile robot, the moving path and the first spatial resource range; create a candidate path deadlock processing strategy for the target mobile robot based on the initial execution plan, the conflicting robots and the execution cost of the initial execution plan.

[0219] In some embodiments, the initial strategy determination module 906 is further configured to: determine the current position of the target mobile robot in the map data, and the moving path from the current position to the preset position in the map data; determine the first spatial resource range in the map data swept by the body trajectory when the target mobile robot walks along the moving path; and determine the initial mobile robot occupying the first spatial resource range as a conflicting robot based on the initial mobile robot data.

[0220] In some embodiments, the initial strategy determination module 906 is further configured to: determine the execution cost corresponding to each path deadlock processing strategy from the path deadlock processing strategy set, wherein each path deadlock processing strategy includes a candidate path deadlock processing strategy; and determine the current path deadlock processing strategy from each path deadlock processing strategy based on the execution cost corresponding to each path deadlock processing strategy.

[0221] In some embodiments, the initial strategy determination module 906 is further configured to: determine the pathfinding robot based on the conflicting robot, and add the current position of the pathfinding robot as the initial pathfinding starting point to the pathfinding starting point queue; determine the current pathfinding starting point from the pathfinding starting point queue; if the current pathfinding starting point meets the avoidance point condition, the current pathfinding starting point is determined as the avoidance point, and an avoidance path and an updated execution plan are generated, and the updated path deadlock processing strategy of the target mobile robot is determined based on the avoidance path and the updated execution plan; if the current pathfinding starting point does not meet the avoidance point condition, then according to the current pathfinding starting point, an adjacent point that meets the waypoint condition is selected from the map data and added to the pathfinding starting point queue, and the step of determining the current pathfinding starting point from the pathfinding starting point queue is continued.

[0222] In some embodiments, the initial strategy determination module 906 is further configured to: determine the current path-finding starting point as the avoidance point, and backtrack to generate an avoidance path based on the position of the avoidance point in the map data; generate an updated execution plan based on the path-finding robot, the avoidance path, and the second spatial resource range swept by the body trajectory when the path-finding robot walks along the avoidance path.

[0223] In some embodiments, the updated path deadlock handling strategy of the target mobile robot is determined based on the avoidance path and the updated execution plan, including: determining the second spatial resource range swept by the body trajectory of the path-finding robot when walking along the avoidance path; determining the initial mobile robot occupying the second spatial resource range as an obstacle robot based on the initial mobile robot data; determining the updated path deadlock handling strategy of the target mobile robot based on the target execution plan, the updated conflict robot and the execution cost of the target execution plan, wherein the target execution plan is determined based on the updated execution plan and the historical execution plan of the current path deadlock handling strategy, and the updated conflict robot is determined based on the conflict robot and the obstacle robot.

[0224] In some embodiments, the initial strategy determination module 906 is further configured to: determine the execution cost corresponding to each pathfinding starting point from the pathfinding starting point queue, and determine the current pathfinding starting point from each pathfinding starting point based on the execution cost corresponding to each pathfinding starting point, wherein each pathfinding starting point includes the initial pathfinding starting point.

[0225] In some embodiments, the pathfinding robot includes at least two motion modes; accordingly, the initial strategy determination module 906 is further configured to: determine the current pathfinding starting point as the avoidance point, generate at least two avoidance paths and at least two update execution plans, and determine the update path deadlock processing strategy of the target mobile robot based on the at least two avoidance paths and at least two update execution plans.

[0226] In some embodiments, the deadlock resolution module 908 is further configured to: determine the execution cost of the initial path deadlock processing strategy of each deadlocked mobile robot; and determine the target path deadlock processing strategy based on the execution cost of the initial path deadlock processing strategy of each deadlocked mobile robot.

[0227] In some embodiments, the waypoint conditions include: at least one of the connectivity constraints of nodes in the map data, the distance range constraints, and the collision detection constraints; wherein, the distance range constraints include that the distance between the adjacent point and the pathfinding robot is less than or equal to a preset distance, and the collision detection constraints include that the pathfinding robot does not collide with the target mobile robot while walking from the current position to the adjacent point.

[0228] In some embodiments, the avoidance point condition is that the stopping space resource range of the low-priority mobile robot at the avoidance point cannot conflict with the space resource range of the avoidance path of the high-priority mobile robot, wherein the low-priority mobile robot is a path-finding robot, and the high-priority mobile robot is the mobile robot corresponding to the execution plan in the historical current path deadlock processing strategy.

[0229] The present disclosure provides a mobile robot path deadlock processing device, comprising: determining target deadlock loop data, map data corresponding to the target deadlock loop data, and initial mobile robot data corresponding to the map data; determining at least two deadlocked mobile robots according to the target deadlock loop data; determining the initial path deadlock processing strategy of each deadlocked mobile robot using a path deadlock processing strategy determination method according to the map data and the initial mobile robot data, wherein the path deadlock processing strategy determination method calculates the avoidance paths of the conflicting robot and the obstacle robot when it is determined that there is an obstacle robot in the conflicting robot of any deadlocked mobile robot; determining the target path deadlock processing strategy from the initial path deadlock processing strategies of the deadlocked mobile robots, and releasing the target deadlock loop according to the target path deadlock processing strategy.

[0230] The above is a schematic diagram of a mobile robot path deadlock handling device according to this embodiment. It should be noted that the technical solution of the mobile robot path deadlock handling device and the technical solution of the mobile robot path deadlock handling method described above share the same concept. For details not described in detail in the technical solution of the mobile robot path deadlock handling device, please refer to the description of the technical solution of the mobile robot path deadlock handling method described above.

[0231] Figure 10 shows a block diagram of a computing device 1000 according to one embodiment of this specification. Components of the computing device 1000 include, but are not limited to, a memory 1010 and a processor 1020. The processor 1020 is connected to the memory 1010 via a bus 1030, and a database 1050 is used to store data.

[0232] The computing device 1000 also includes an access device 1040 that enables the computing device 1000 to communicate via one or more networks 1060. Examples of such networks include a Public Switched Telephone Network (PSTN), a Local Area Network (LAN), a Wide Area Network (WAN), a Personal Area Network (PAN), or a combination of communication networks such as the Internet. The access device 1040 may include one or more of any type of network interface (e.g., a Network Interface Controller (NIC)) whether wired or wireless, such as an IEEE 802.11 Wireless Local Area Network (WLAN) wireless interface, a Worldwide Interoperability for Microwave Access (Wi-MAX) interface, an Ethernet interface, a Universal Serial Bus (USB) interface, a cellular network interface, a Bluetooth interface, a Near Field Communication (NFC) interface, and the like.

[0233] In one embodiment of the present specification, the aforementioned components of the computing device 1000 and other components not shown in FIG10 may also be connected to each other, for example, via a bus. It should be understood that the computing device structure block diagram shown in FIG10 is for illustrative purposes only and does not limit the scope of this specification. Those skilled in the art may add or replace other components as needed.

[0234] Computing device 1000 may be any type of stationary or mobile computing device, including a mobile computer or mobile computing device (e.g., a tablet computer, personal digital assistant, laptop computer, notebook computer, netbook computer, etc.), a mobile phone (e.g., a smartphone), a wearable computing device (e.g., a smartwatch, smart glasses, etc.), or other types of mobile devices, or a stationary computing device such as a desktop computer or personal computer (PC). Computing device 1000 may also be a mobile or stationary server.

[0235] Among them, when the processor 1020 executes the computer instructions, it implements the steps of the mobile robot path deadlock processing method.

[0236] The above is a schematic diagram of a computing device according to this embodiment. It should be noted that the technical solution of this computing device and the technical solution of the aforementioned mobile robot path deadlock processing method are based on the same concept. For details not described in detail in the technical solution of the computing device, please refer to the description of the technical solution of the aforementioned mobile robot path deadlock processing method.

[0237] Some embodiments of the present disclosure further provide a computer-readable storage medium storing computer instructions, which, when executed by a processor, implement the steps of the mobile robot path deadlock processing method as described above.

[0238] The above is a schematic diagram of a computer-readable storage medium according to this embodiment. It should be noted that the technical solution of this storage medium and the technical solution of the mobile robot path deadlock handling method described above share the same concept. For details not described in detail in the technical solution of the storage medium, please refer to the description of the technical solution of the mobile robot path deadlock handling method described above.

[0239] The foregoing description describes specific embodiments of the present disclosure. Other embodiments are within the scope of the appended claims. In some cases, the actions or steps recited in the claims can be performed in an order different from that described in the embodiments and still achieve the desired results. Furthermore, the processes depicted in the accompanying drawings do not necessarily require the specific order shown or the sequential order to achieve the desired results. In certain embodiments, multitasking and parallel processing are also possible or may be advantageous.

[0240] The computer instructions include computer program code, which may be in source code form, object code form, executable file, or some intermediate form. The computer-readable medium may include: any entity or device capable of carrying the computer program code, recording medium, USB flash drive, mobile hard disk, magnetic disk, optical disk, computer memory, read-only memory (ROM), random access memory (RAM), electric carrier signal, telecommunication signal, and software distribution medium. It should be noted that the content contained in the computer-readable medium may be appropriately increased or decreased according to the requirements of patent practice. For example, in some regions, according to patent practice, computer-readable media do not include electric carrier signals and telecommunication signals.

[0241] It should be noted that for the aforementioned method embodiments, for ease of description, they are all expressed as a series of action combinations, but those skilled in the art should be aware that the present disclosure is not limited by the order of the actions described, because according to the present disclosure, certain steps can be performed in other orders or simultaneously. Secondly, those skilled in the art should also be aware that the embodiments described in the specification are all preferred embodiments, and the actions and modules involved are not necessarily required by the present disclosure.

[0242] In the above embodiments, the description of each embodiment has its own focus. For parts that are not described in detail in a certain embodiment, reference can be made to the relevant descriptions of other embodiments.

[0243] The embodiments disclosed above are intended only to help illustrate the present disclosure. The optional embodiments do not describe all details in detail, nor do they limit the present disclosure to the specific embodiments described. Obviously, many modifications and variations can be made based on the content of the present disclosure. The present disclosure selects and describes these embodiments in detail to better explain the principles and practical applications of the present disclosure, so that those skilled in the art can better understand and utilize the present disclosure. The present disclosure is limited only by the claims and their full scope and equivalents.

Claims

1. A method for processing a mobile robot path deadlock, comprising: Determining target deadlock loop data, map data corresponding to the target deadlock loop data, and initial mobile robot data corresponding to the map data; Determine at least two deadlocked mobile robots that are deadlocked according to the target deadlock loop data; According to the map data and the initial mobile robot data, an initial path deadlock processing strategy of each deadlocked mobile robot is determined using a path deadlock processing strategy determination method, wherein the path deadlock processing strategy determination method is used to calculate an avoidance path of the conflicting robot when it is determined that there is a conflicting robot that conflicts with any deadlocked mobile robot, and / or, when it is determined that there is an obstacle robot that blocks the conflicting robot, calculate the avoidance path of the obstacle robot; A target path deadlock processing strategy is determined from the initial path deadlock processing strategies of each deadlocked mobile robot, and the target deadlock loop is released according to the target path deadlock processing strategy.

2. The method according to claim 1, wherein: The method of determining the initial path deadlock processing strategy of each deadlocked mobile robot according to the map data and the initial mobile robot data comprises: sequentially determining any one of the at least two deadlocked mobile robots as a target mobile robot; Determine the initial path deadlock processing strategy of the target mobile robot using a path deadlock processing strategy determination method according to the map data and the initial mobile robot data; According to the initial path deadlock processing strategy of the target mobile robot, the initial path deadlock processing strategy of each deadlocked mobile robot is determined.

3. The method according to claim 2, wherein: The method of determining the initial path deadlock processing strategy of the target mobile robot based on the map data and the initial mobile robot data comprises: Creating a candidate path deadlock processing strategy for the target mobile robot according to the map data and the initial mobile robot data, and adding the candidate path deadlock processing strategy to a path deadlock processing strategy set; Determining a current path deadlock processing strategy from the path deadlock processing strategy set; If there is a conflicting robot in the current path deadlock processing strategy, then according to the conflicting robot, using the conflicting robot avoidance path determination method, determine the updated path deadlock processing strategy of the target mobile robot, and add the updated path deadlock processing strategy to the path deadlock processing strategy set, and continue to execute the step of determining the current path deadlock processing strategy from the path deadlock processing strategy set; If there is no conflicting robot in the current path deadlock processing strategy, the current path deadlock processing strategy is determined as the initial path deadlock processing strategy of the target mobile robot.

4. The method according to claim 3, wherein: The step of creating a candidate path deadlock processing strategy for the target mobile robot according to the map data and the initial mobile robot data includes: Determine, based on the map data and the initial mobile robot data, a moving path of the target mobile robot from a current position to a preset position, a first spatial resource range swept by a body trajectory when the target mobile robot walks along the moving path, and conflicting robots occupying the first spatial resource range; Generating an initial execution plan for the target mobile robot according to the target mobile robot, the moving path, and the first spatial resource range; A candidate path deadlock handling strategy for the target mobile robot is created according to the initial execution plan, the conflicting robots, and the execution cost of the initial execution plan.

5. The method according to claim 4, wherein: The method of determining, based on the map data and the initial mobile robot data, a moving path of the target mobile robot from a current position to a preset position, a first spatial resource range swept by a body trajectory when the target mobile robot walks along the moving path, and conflicting robots occupying the first spatial resource range, comprises: Determine a current position of the target mobile robot in the map data and a moving path from the current position to a preset position in the map data; Determine the first spatial resource range in the map data swept by the body trajectory when the target mobile robot walks along the moving path; According to the initial mobile robot data, an initial mobile robot occupying the first space resource range is determined as the conflicting robot.

6. The method according to claim 3 or 4, wherein: The determining of the current path deadlock processing strategy from the path deadlock processing strategy set includes: Determining the execution cost corresponding to each path deadlock processing strategy from the path deadlock processing strategy set, wherein each path deadlock processing strategy includes the candidate path deadlock processing strategy; The current path deadlock processing strategy is determined from the path deadlock processing strategies according to the execution costs corresponding to the path deadlock processing strategies.

7. The method according to claim 3, wherein: The method of determining the path avoidance of the target mobile robot according to the conflicting robot and using the conflicting robot avoidance path determination method is used to determine the update path deadlock processing strategy of the target mobile robot, including: Determine a pathfinding robot according to the conflicting robot, and add the current position of the pathfinding robot as an initial pathfinding starting point to the pathfinding starting point queue; Determine the current path finding starting point from the path finding starting point queue; If the current path finding starting point satisfies the avoidance point condition, the current path finding starting point is determined as the avoidance point, an avoidance path and an update execution plan are generated, and an update path deadlock processing strategy of the target mobile robot is determined according to the avoidance path and the update execution plan; If the current path finding starting point does not meet the avoidance point condition, then according to the current path finding starting point, select an adjacent point that meets the waypoint condition from the map data and add it to the path finding starting point queue, and continue to execute the step of determining the current path finding starting point from the path finding starting point queue.

8. The method according to claim 7, wherein: The step of determining the current path finding starting point as an avoidance point, generating an avoidance path, and updating an execution plan includes: Determine the current path finding starting point as an avoidance point, and backtrack to generate an avoidance path according to the position of the avoidance point in the map data; An updated execution plan is generated based on the path-finding robot, the avoidance path, and the second spatial resource range swept by the body trajectory when the path-finding robot walks along the avoidance path.

9. The method according to claim 7, wherein: The step of determining an update path deadlock processing strategy of the target mobile robot according to the avoidance path and the update execution plan includes: Determine a second spatial resource range swept by the body trajectory when the path-finding robot walks along the avoidance path; According to the initial mobile robot data, determining the initial mobile robot occupying the second space resource range as the obstacle robot; According to the target execution plan, the updated conflicting robot and the execution cost of the target execution plan, the updated path deadlock handling strategy of the target mobile robot is determined, wherein the target execution plan is determined according to the updated execution plan and the execution plan of the historical current path deadlock handling strategy, and the updated conflicting robot is determined according to the conflicting robot and the obstacle robot.

10. The method according to claim 7, wherein: The step of determining the current path finding starting point from the path finding starting point queue comprises: From the path finding starting point queue, the execution cost corresponding to each path finding starting point is determined, and according to the execution cost corresponding to each path finding starting point, the current path finding starting point is determined from the path finding starting points, wherein the path finding starting points include the initial path finding starting point.

11. The method according to claim 7, wherein: The pathfinding robot includes at least two motion modes; the current pathfinding starting point is determined as an avoidance point, an avoidance path and an update execution plan are generated, and an update path deadlock processing strategy of the target mobile robot is determined according to the avoidance path and the update execution plan, including: The current path finding starting point is determined as an avoidance point, at least two avoidance paths and at least two update execution plans are generated, and based on the at least two avoidance paths and the at least two update execution plans, an update path deadlock processing strategy of the target mobile robot is determined.

12. The method according to claim 1, wherein: Determining a target path deadlock processing strategy from the initial path deadlock processing strategies of each deadlocked mobile robot includes: Determining the execution cost of the initial path deadlock processing strategy of each deadlock mobile robot; The target path deadlock processing strategy is determined according to the execution cost of the initial path deadlock processing strategy of each deadlock mobile robot.

13. The method according to claim 7, wherein: The waypoint conditions include: at least one of the connectivity constraints of nodes in the map data, the distance range constraints and the collision detection constraints; wherein the distance range constraints include that the distance between the adjacent point and the pathfinding robot is less than or equal to a preset distance, and the collision detection constraints include that the pathfinding robot does not collide with the target mobile robot during the process of walking from the current position to the adjacent point.

14. The method according to claim 7, wherein: The avoidance point condition is that the stopping space resource range of the low-priority mobile robot at the avoidance point cannot conflict with the space resource range of the avoidance path of the high-priority mobile robot. The low-priority mobile robot is the pathfinding robot, and the high-priority mobile robot is the mobile robot corresponding to the execution plan in the historical current path deadlock processing strategy.

15. A mobile robot path deadlock processing device, comprising: a data determination module configured to determine target deadlock loop data, map data corresponding to the target deadlock loop data, and initial mobile robot data corresponding to the map data; a robot determination module, configured to determine at least two deadlocked mobile robots that are deadlocked according to the target deadlock loop data; an initial strategy determination module, configured to determine an initial path deadlock processing strategy of each deadlocked mobile robot according to the map data and the initial mobile robot data by using a path deadlock processing strategy determination method, wherein the path deadlock processing strategy determination method is used to calculate an avoidance path of the conflicting robot when it is determined that there is a conflicting robot that conflicts with any deadlocked mobile robot, and / or, when it is determined that there is an obstacle robot that blocks the conflicting robot, calculate the avoidance path of the obstacle robot; The deadlock resolution module is configured to determine a target path deadlock processing strategy from the initial path deadlock processing strategies of each deadlocked mobile robot, and resolve the target deadlock loop according to the target path deadlock processing strategy.

16. A computing device, comprising a memory, a processor, and computer instructions stored in the memory and executable on the processor, wherein the processor implements the steps of the method according to any one of claims 1 to 14 when executing the computer instructions.

17. A computer-readable storage medium storing computer instructions, wherein the computer instructions, when executed by a processor, implement the steps of the method according to any one of claims 1 to 14.

Citation Information

Patent Citations

  • Method and device for avoiding conflicts by guiding paths of transport vehicles automatically

    CN110058586A

  • Scheduling method and system for AGV cluster

    CN110794829A

  • Robot scheduling method and device, equipment and medium

    CN112650226A

  • Avoidance method for multi-robot operation scene and robot applying avoidance method

    CN114706393A

  • Multi-AGV cooperative deadlock prediction unlocking method and system and storage medium

    CN115793633A

Cited By

  • Multi-robot path planning system and method based on sampling

    CN119987383A

  • Path planning method, electronic equipment and computer readable storage medium

    CN121254839A

  • Multi-AGV path planning method and device for single-channel turnout

    CN121498734A