Key point based deadlock prevention method and trolley control system

CN115857482BActive Publication Date: 2026-09-25SHANGHAI QUICKTRON AUTOMATION TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202111115691.6
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-09-23
Publication Date
2026-09-25
Estimated Expiration
2041-09-23

AI Technical Summary

Technical Problem

例如,分布式AGV控制情形下,AGV在路径规划算法(如A*算法)完成后,或者集中式AGV控制情形下,因为实际场地或运行等因素,容易发生AGV路径重合等产生死锁的情况

Benefits of technology

[0038]本发明的技术方案通过识别和标记关键点,可以在多车情况下对关键点处进行交通控制以预防死锁、避免碰撞,实现AGV的无冲突高效运行。主要流程为:1.识别地图中可能产生冲突的关键点位;2.感知小车即将通过的关键点位;3.感知小车前方的固定障碍物绕过;4.感知小车前方空闲车驶离;5.控制关键点位的小车通过顺序;6.选择需要避让的小车到关键点位附近避让。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115857482B_ABST
    Figure CN115857482B_ABST
Patent Text Reader

Abstract

The application provides a key point-based deadlock prevention method, comprising the following steps: S11: when receiving a request for adding a key point for a trolley, adding the trolley to a candidate set of key points through a processor; S12: when there are multiple trolleys in the candidate set, comparing them in pairs, and for the trolleys that exist in the remaining paths, based on the number of conflicts and the distance to the key point of each trolley, evaluating a preferred trolley; S13: locking the preferred trolley to the key point, selecting an avoidance point and controlling the preferred trolley to go to the avoidance point; S14: when the preferred trolley passes through the key point, releasing the lock and deleting it from the candidate set; S15: repeating steps S11-S14 until all trolleys in the candidate set pass through the key point; wherein the number of trolleys that exist in the remaining paths of a trolley is the number of conflicts of the trolley. The application can identify and mark key points, control traffic at the key points under the condition of multiple trolleys to prevent deadlock and avoid collision, and realize the efficient and collision-free operation of AGVs.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This disclosure relates to the field of automated guided vehicles, and more particularly to a deadlock prevention method based on key points, a vehicle control system, and a computer-readable storage medium. Background Technology

[0002] With the development and popularization of technologies such as robotics and the Internet of Things, intelligent logistics warehouses utilizing Automated Guided Vehicles (AGVs) have gained widespread favor among enterprises due to their high operational efficiency. Depending on the specific application scenario, the scale of AGV systems ranges from a single unit to dozens or even hundreds of units, and the system road networks are becoming increasingly complex, primarily presenting two major challenges: collisions and deadlocks. For example, in distributed AGV control scenarios, after the path planning algorithm (such as the A* algorithm) is completed, or in centralized AGV control scenarios, deadlocks can easily occur due to overlapping AGV paths caused by factors such as actual site conditions or operation. Past warehouse designers often used one-way maps to avoid this problem, but this overly conservative map design strategy forces AGVs to travel longer distances to reach their destinations, limiting the performance of AGVs. Therefore, while ensuring high operational efficiency of AGVs, it is of great significance to propose effective traffic control strategies to ensure that the system does not become paralyzed due to collisions and deadlocks, and to guarantee the orderly and efficient operation of the AGV traffic control system.

[0003] The content of the background section only discloses the technology known to the inventors and does not necessarily represent the prior art in this field. Summary of the Invention

[0004] In view of one or more existing defects, the present invention designs a deadlock prevention method based on key points, comprising:

[0005] S11: When a request to add key points to the vehicle is received, the vehicle is added to the candidate set of the key points by the processor;

[0006] S12: When there are multiple cars in the candidate set, they are compared pairwise. For cars with overlapping paths, the processor evaluates the preferred car based on the number of conflicts for each car and the distance to the key point.

[0007] S13: Lock the preferred vehicle to the key point, select an avoidance point through the processor, and control the preferred vehicle to move to the avoidance point;

[0008] S14: After the preferred vehicle passes the key point, the processor releases the lock and removes it from the candidate set;

[0009] S15: Repeat steps S11-S14 until all cars in the candidate set pass the key point;

[0010] The number of cars whose remaining paths overlap with those of another car is the number of collisions for that car.

[0011] According to one aspect of the invention, it further includes: scanning based on map edge relationships and designating path points that meet the following conditions as key points:

[0012] The total number of outgoing and incoming edges is greater than or equal to 3;

[0013] Outgoing edges are greater than or equal to 2; and

[0014] There is at least one adjacent waypoint in the alley.

[0015] According to one aspect of the invention, step S12 further includes:

[0016] S121: For cars with overlapping paths, calculate the number of conflicts for each car and add the car with the most conflicts to the preferred conflict set.

[0017] S122: For all the vehicles in the preferred conflict set, select the vehicles that are in an unloaded state and add the vehicles in the unloaded state to the second conflict set;

[0018] S123: For all cars in the second conflict set, calculate the Manhattan distance of each car to the key point, and select the car with the shortest Manhattan distance as the preferred car.

[0019] According to one aspect of the invention, it further includes: when a vehicle remains in the candidate set, controlling the vehicle to pass through the key point.

[0020] According to one aspect of the invention, the method further includes: when there are two remaining vehicles in the candidate set and the remaining paths of the two vehicles do not overlap, controlling the two vehicles to pass through the key point sequentially.

[0021] According to one aspect of the invention, step S13 further includes: designating path points that meet the following conditions as avoidance points:

[0022] Adjacent to the key point, and with a depth of 1;

[0023] The direction of the outgoing edge at the key point, and does not conflict with the driving direction of other cars; and

[0024] No other cars came to give way.

[0025] According to one aspect of the present invention, step S13 further includes: after selecting the avoidance point, calculating and splicing the path from the current position of the preferred vehicle to the avoidance point and the path from the avoidance point to the endpoint of the preferred vehicle, and updating the path of the preferred vehicle.

[0026] According to one aspect of the invention, step S13 further includes: when there is no suitable avoidance point or the avoidance point is located on the remaining path of the preferred vehicle, controlling the preferred vehicle to continue traveling along the remaining path.

[0027] According to one aspect of the invention, it further includes: when the next key point is detected or an obstacle is present within a first preset distance during the movement of the vehicle, the obstacle is set as an impassable point and the path is replanned.

[0028] According to one aspect of the invention, it further includes: when a vehicle is detected to be in an idle state when it is less than a second preset distance from the last key point or less than a third preset distance from the end point during the vehicle's movement, triggering the idle vehicle to leave the remaining path of the vehicle.

[0029] The present invention also relates to a vehicle control system, comprising:

[0030] Multiple cars,

[0031] The scheduling unit communicates with the plurality of vehicles and is configured to execute the deadlock prevention method as described in any one of claims 1-10.

[0032] According to one aspect of the invention, the scheduling unit further includes:

[0033] The locking management module is configured to manage the locking requests and unlocking requests of the multiple vehicles;

[0034] The path planning module is configured to perform path planning for the multiple vehicles; and

[0035] The deadlock prevention module, coupled to the locking management module and the path planning module, is configured to control the multiple vehicles to unlock, avoid obstacles, and trigger idle vehicles to leave.

[0036] According to one aspect of the invention, the trolley is an automated guided vehicle (AGV).

[0037] The present invention also relates to a computer-readable storage medium including computer-executable instructions stored thereon, wherein the executable instructions, when executed by a processor, implement the deadlock prevention method described above.

[0038] The technical solution of this invention identifies and marks key points, enabling traffic control at these points in multi-vehicle scenarios to prevent deadlocks and collisions, thus achieving conflict-free and efficient AGV operation. The main process is as follows: 1. Identify key points on the map that may cause conflicts; 2. Detect key points the AGV is about to pass through; 3. Detect and bypass fixed obstacles in front of the AGV; 4. Detect the departure of any empty vehicles in front of the AGV; 5. Control the order in which AGVs pass through key points; 6. Select AGVs that need to be avoided and move them to the vicinity of the key points. Attached Figure Description

[0039] The accompanying drawings, which form part of this disclosure, are used to provide a further understanding of this disclosure. The illustrative embodiments of this disclosure and their descriptions are used to explain this disclosure and do not constitute an undue limitation of this disclosure. In the drawings:

[0040] Figure 1 A flowchart of a deadlock prevention method based on key points according to an embodiment of the present invention is shown;

[0041] Figure 2A A schematic diagram of the key judgment points in Embodiment 1 of the present invention is shown;

[0042] Figure 2B A schematic diagram of the key judgment points in Embodiment 2 of the present invention is shown;

[0043] Figure 2C A schematic diagram of the key judgment points in Embodiment 3 of the present invention is shown;

[0044] Figure 3A A schematic diagram illustrating the calculation of conflict distance in Embodiment 4 of the present invention is shown;

[0045] Figure 3B A schematic diagram illustrating the calculation of conflict distance in Embodiment 5 of the present invention is shown;

[0046] Figure 3C A schematic diagram illustrating the calculation of conflict distance in Embodiment Six of the present invention is shown;

[0047] Figure 4 A flowchart of step S12 of a deadlock prevention method according to an embodiment of the present invention is shown;

[0048] Figure 5 A schematic diagram of the deadlock prevention method according to Embodiment 7 of the present invention is shown;

[0049] Figure 6 A schematic diagram of the deadlock prevention method according to Embodiment 8 of the present invention is shown;

[0050] Figure 7 A schematic diagram of the deadlock prevention method according to Embodiment 9 of the present invention is shown;

[0051] Figure 8 A schematic diagram of obstacle avoidance according to Embodiment 10 of the present invention is shown;

[0052] Figure 9 A schematic diagram of obstacle avoidance according to Embodiment Eleven of the present invention is shown;

[0053] Figure 10 This diagram illustrates an example of an idle vehicle yielding to another vehicle according to Embodiment Twelve of the present invention.

[0054] Figure 11 This diagram illustrates an example of an idle vehicle yielding to another vehicle according to Embodiment Thirteen of the present invention.

[0055] Figure 12 This diagram illustrates an example of an idle vehicle yielding to another vehicle according to Embodiment Fourteen of the present invention.

[0056] Figure 13 This diagram illustrates an example of an idle vehicle yielding to another vehicle according to Embodiment 15 of the present invention.

[0057] Figure 14 A block diagram of a vehicle control system according to an embodiment of the present invention is shown. Detailed Implementation

[0058] In the following description, only certain exemplary embodiments are briefly described. As those skilled in the art will recognize, the described embodiments can be modified in various ways without departing from the spirit or scope of the invention. Therefore, the drawings and description are considered to be exemplary in nature and not restrictive.

[0059] In the description of this invention, it should be understood that the terms "center," "longitudinal," "lateral," "length," "width," "thickness," "upper," "lower," "front," "rear," "left," "right," "vertical," "horizontal," "top," "bottom," "inner," "outer," "clockwise," and "counterclockwise," etc., indicating orientations or positional relationships, are based on the orientations or positional relationships shown in the accompanying drawings and are only for the convenience of describing the invention and simplifying the description, and do not indicate or imply that the device or element referred to must have a specific orientation, or be constructed and operated in a specific orientation, and therefore should not be construed as a limitation of the invention. Furthermore, the terms "first" and "second" are used for descriptive purposes only and should not be construed as indicating or implying relative importance or implicitly specifying the number of indicated technical features. Thus, a feature defined with "first" or "second" may explicitly or implicitly include one or more of the stated features. In the description of this invention, "a plurality of" means two or more, unless otherwise explicitly specified.

[0060] In the description of this invention, it should be noted that, unless otherwise explicitly specified and limited, the terms "installation," "connection," and "linking" should be interpreted broadly. For example, they can refer to a fixed connection, a detachable connection, or an integral connection; they can refer to a mechanical connection, an electrical connection, or a connection that allows for communication; they can refer to a direct connection or an indirect connection through an intermediate medium; they can refer to the internal communication of two components or the interaction between two components. Those skilled in the art can understand the specific meaning of the above terms in this invention according to the specific circumstances.

[0061] In this invention, unless otherwise explicitly specified and limited, "above" or "below" the second feature can include direct contact between the first and second features, or contact between the first and second features through another feature between them. Furthermore, "above," "over," and "on top" the second feature includes the first feature directly above or diagonally above the second feature, or simply indicates that the first feature is at a higher horizontal level than the second feature. "Below," "below," and "under" the second feature includes the first feature directly above or diagonally above the second feature, or simply indicates that the first feature is at a lower horizontal level than the second feature.

[0062] The following disclosure provides many different embodiments or examples for implementing various structures of the invention. To simplify the disclosure, specific examples of components and arrangements are described below. These are merely examples and are not intended to limit the invention. Furthermore, reference numerals and / or letters may be repeated in different examples; such repetition is for simplification and clarity and does not in itself indicate a relationship between the various embodiments and / or arrangements discussed. In addition, examples of various specific processes and materials are provided in this invention, but those skilled in the art will recognize the application of other processes and / or the use of other materials.

[0063] The preferred embodiments of the present invention will be described below with reference to the accompanying drawings. It should be understood that the preferred embodiments described herein are for illustration and explanation only and are not intended to limit the present invention.

[0064] Figure 1 An embodiment of the deadlock prevention method based on key points of the present invention is shown. The deadlock prevention method 10 includes the following steps:

[0065] In step S11, when a request to add a key point is received, the processor adds the car to the candidate set of key points. When the system starts, for the imported map elements, based on the map edge relationships, it traverses the path points or reversal points and sets points that meet certain conditions as key points. When the car (automated guided vehicle) approaches a key point, it can issue a request to add that key point.

[0066] According to a preferred embodiment of the present invention, the deadlock prevention method 10 further includes: scanning according to map edge relationships and setting path points that meet the following conditions as critical points: (a1) the total number of outgoing and incoming edges is greater than or equal to 3; (a2) the number of outgoing edges is greater than or equal to 2; (a3) ​​at least one adjacent path point is in the alleyway. For example, determining whether path point A is a critical point, wherein the outgoing edge of point A is the path direction starting from point A and ending at other path points; the incoming edge of point A is the path direction starting from other path points and ending at point A. Conditions (a1) and (a2) can be determined based on the outgoing and incoming edges of point A. Preferably, point A can be a special path point, such as a reversal point (i.e., a path point that allows the loaded trolley to change direction), but storage points and their associated outgoing and incoming edges are not considered.

[0067] Regarding condition (a3), it can be determined whether point A has at least one adjacent path point (e.g., point B) in the alleyway in the following ways: (b1) The number of path points adjacent to point B is less than the number of path points adjacent to point A; (b2) One of the following conditions is met: the number of path points adjacent to point B is 1; or, the number of path points adjacent to point B is 2, and the two adjacent path points and point B do not form a right angle; or, the number of path points adjacent to point B is 3, and the angle formed after removing point A is not a straight angle. Because the vehicle (e.g., AGV) can only move between path points or reversing points along the Manhattan distance, without considering dual channels, the maximum number of outgoing and incoming edges of point A is 4. Based on condition (b1), it can be determined that the total number of outgoing and incoming edges of point B is 2 or 3. In this case, point B may be located in the alleyway (e.g., at an intersection or T-junction) or adjacent to the path boundary (e.g., at a corner or along a wall). It is necessary to further exclude the latter by combining condition (b2).

[0068] The following example describes how to determine point A as a key point.

[0069] Figure 2AThis diagram illustrates the key point determination process according to Embodiment 1 of the present invention. The thick black solid lines represent path boundaries (e.g., walls or shelves), and each square represents a path point or reversal point. First, point A has 2 outgoing edges and 1 incoming edge, for a total of 3 outgoing and incoming edges. Therefore, point A satisfies conditions "(a1) the total number of outgoing and incoming edges is greater than or equal to 3" and "(a2) outgoing edges are greater than or equal to 2". Next, it determines whether point B, adjacent to point A, is in the alleyway: points A and C are adjacent to point B, so the number of points adjacent to point B is 2; points B, D, and E are adjacent to point A, so the number of points adjacent to point A is 3. Point B satisfies condition "(b1) the number of points adjacent to point B is less than the number of points adjacent to point A". However, points A, B, and C form a right angle, so point B does not satisfy condition "(b2) the number of points adjacent to point B is 2, and the two adjacent points do not form a right angle with point B". That is, point B is not in the roadway, and point B does not satisfy the condition "(a3) point B adjacent to point A is in the roadway". Therefore, point A does not satisfy all the conditions to be a critical point, and point A is not a critical point.

[0070] Figure 2B This diagram illustrates the key point determination method in Embodiment 2 of the present invention. The thick black solid lines represent path boundaries (e.g., walls or shelves), and each square represents a path point or reversal point. First, point A has 2 outgoing edges and 2 incoming edges, for a total of 4 outgoing and incoming edges. Therefore, point A satisfies conditions "(a1) the total number of outgoing and incoming edges is greater than or equal to 3" and "(a2) outgoing edges are greater than or equal to 2". Next, it determines whether point B, adjacent to point A, is in the alleyway: points adjacent to point B are A, C, and D, so the number of points adjacent to point B is 3; points adjacent to point A are B, E, F, and H, so the number of points adjacent to point A is 4. Point B satisfies condition "(b1) the number of points adjacent to point B is less than the number of points adjacent to point A". However, after removing point A, points B, C, and D form a straight angle, so point B does not satisfy condition "(b2) the total number of points adjacent to point B is 3, and the angle formed after removing point A is not a straight angle". That is, point B is not in the roadway, and point B does not satisfy the condition "(a3) point B adjacent to point A is in the roadway". Therefore, point A does not satisfy all the conditions to be a critical point, and point A is not a critical point.

[0071] The above two examples exclude the case where key points are close to the path boundary. Figure 2CThis diagram illustrates the key point determination method according to Embodiment 3 of the present invention. The thick black solid lines represent path boundaries (e.g., walls or shelves), and each square represents a path point or reversal point. First, point A has 3 outgoing edges and 1 incoming edge, for a total of 4 outgoing and incoming edges. Therefore, point A satisfies conditions "(a1) the total number of outgoing and incoming edges is greater than or equal to 3" and "(a2) outgoing edges are greater than or equal to 2". Next, it continues to determine whether point B, adjacent to point A, is in the alleyway: points adjacent to point B are points A and C, so the number of points adjacent to point B is 2; points adjacent to point A are points B, D, E, and F, so the number of points adjacent to point A is 4. Point B satisfies condition "(b1) the number of points adjacent to point B is less than the number of points adjacent to point A", and points A, B, and C form a straight angle. Therefore, point B satisfies condition "(b2) the number of points adjacent to point B is 2, and the angle formed by two adjacent points and point B is not a right angle". That is, point B is in the tunnel, and point B satisfies the condition "(a3) point B adjacent to point A is in the tunnel". Therefore, point A satisfies all the conditions to become a critical point, and point A is a critical point.

[0072] The above three examples illustrate how to identify key points. Based on the above conditions, all key points in the map are scanned. Key points are usually path points where conflicts may occur. Generally, the following path points are identified as key points: intersections of crossroads, intersections of T-junctions, and intersections of dead ends.

[0073] For each keypoint, a candidate set can be set. During operation, the vehicle can retrieve the next keypoint on its path and send a request to add it, thus adding the vehicle to the candidate set for that keypoint. Furthermore, the candidate set for each keypoint is dynamically adjusted; a vehicle can be added to the candidate set when it requests to add a keypoint, and removed from the candidate set after passing through it.

[0074] In step S12: When there are multiple cars in the candidate set, they are compared pairwise. For cars with overlapping paths, the processor evaluates the preferred car based on the number of conflicts and the distance to the key point for each car. The preferred car is the one that can pass through the key point first. When there are multiple cars in the candidate set, two problems need to be solved: how to calculate the conflict distance to the conflicting path, and how to resolve deadlock problems in advance.

[0075] Taking AGV1 as an example, starting from the locking point at the front of AGV1, find the next key point in the remaining path, such as key point A1. The locking point is a path point or reversal point that prohibits other AGVs from entering, ensuring the safe entry or passage of this AGV.

[0076] After finding the next key point A1, AGV1 sends a request to be added to key point A1. After the scheduling unit listens to the request, it adds AGV1 to the candidate set of key point A1 and removes AGV1 from the candidate sets of other key points.

[0077] For all vehicles in the candidate set of keypoint A1, based on the paths of each vehicle, pairwise groups are compared to check for path overlap to calculate the conflict distance to the conflicting path (hereinafter referred to as conflict distance). For example, if a group includes vehicles AGV1 and AGV2, the current positions and remaining paths of AGV1 and AGV2 are obtained. If the remaining path of AGV2 passes through keypoint A1 and then needs to pass through the current position of AGV1, and the path of AGV2 from keypoint A1 to the current position of AGV1 overlaps with the path of AGV1 from its current position to the keypoint, then the conflict distance of AGV1 is 0; otherwise, the conflict distance of AGV1 is the Manhattan distance from the current position of AGV1 to keypoint A1. If the conflict distance of AGV2 is also 0, then the remaining paths of AGV1 and AGV2 overlap, and continuing to travel along the current path will inevitably result in a deadlock. Generally, since critical point A1 has at least 3 adjacent path points, a third path point that is not on the paths of these two cars can be used as an avoidance point. After selecting the preferred car from the candidate set, its path is changed, and the preferred car is controlled to drive to the path point to avoid deadlock.

[0078] Figure 3A This diagram illustrates the calculation of conflict distance according to Embodiment 4 of the present invention. The diagram shows the current positions of AGV2 and AGV1, and the key point A1. The remaining path of AGV2 is P2, and the remaining path of AGV1 is P1. The remaining paths P2 and P1 form two conflicting paths CP1 and CP2 on either side of the key point A1. After AGV2 passes the key point A1 for the first time, it needs to pass through the current position of AGV1. That is, the remaining paths P2 and P1 form a conflicting path CP1 on one side of the key point A1, so the conflict distance of AGV1 is 0. After AGV1 passes the key point A1 for the first time, it needs to pass through the current position of AGV2. The remaining paths P1 and P2 form a conflicting path CP2 on the other side of the key point A1, so the conflict distance of AGV2 is 0.

[0079] Figure 3BA schematic diagram illustrating the calculation of conflict distance according to Embodiment 5 of the present invention is shown. The diagram shows the current positions of AGV2 and AGV1 and the key point A1. The remaining path of AGV2 is P2, and the remaining path of AGV1 is P1. The remaining paths P2 and P1 form a conflict path CP on one side of the key point A1. If AGV2 needs to pass through the current position of AGV1 after passing the key point A1 for the first time, then the conflict distance of AGV1 is 0. If AGV1 does not need to pass through the current position of AGV2 after passing the key point A1 for the first time, then the conflict distance of AGV2 is the Manhattan distance to reach the key point A1.

[0080] Figure 3C A schematic diagram illustrating the calculation of conflict distance according to Embodiment Six of the present invention is shown. The diagram shows the current positions of AGV2 and AGV1, and the key point A1. The remaining path of AGV2 is P2, and the remaining path of AGV1 is P1. The remaining paths P2 and P1 form a conflict path CP. If AGV2 passes the key point A1 for the first time without passing the current position of AGV1, then the conflict distance of AGV1 is the Manhattan distance to the key point A1. If AGV1 passes the key point A1 for the first time without passing the current position of AGV2, then the conflict distance of AGV2 is the Manhattan distance to the key point A1.

[0081] The above three examples illustrate how to calculate the conflict distance between two cars. Following the above method, all cars in the candidate set are compared pairwise to obtain the total conflict distance.

[0082] According to a preferred embodiment of the present invention, step S12 further includes:

[0083] In step S121: For vehicles whose remaining paths overlap, calculate the number of conflicts for each vehicle and add the vehicle with the most conflicts to the preferred conflict set. The number of vehicles whose remaining paths overlap with another vehicle is the number of conflicts for that vehicle. Taking AGV1 and AGG2 as examples, vehicles whose remaining paths overlap with AGV1 (i.e., vehicles with a conflict distance of 0) are included in conflict set 1 for AGV1, and the number of vehicles in conflict set 1 is the number of conflicts for AGV1. Similarly, vehicles whose remaining paths overlap with AGV2 (i.e., vehicles with a conflict distance of 0) are included in conflict set 2 for AGV2, and the number of vehicles in conflict set 2 is the number of conflicts for AGV2. This process continues, calculating the number of conflicts for each vehicle and adding the vehicle with the most conflicts to the preferred conflict set.

[0084] In step S122: For all vehicles in the preferred conflict set, select the vehicles that are not loaded and add them to the second conflict set. If the preferred conflict set contains multiple vehicles, for example, if multiple vehicles have the same number of conflicts in step S121, then continue comparing the loading status of the vehicles. At this time, the amount of load is not considered, only whether the vehicle is loaded. Add the unloaded vehicles to the second conflict set. Furthermore, if there is only one vehicle in the preferred conflict set, then that vehicle is the preferred vehicle.

[0085] In step S123: For all cars in the second conflict set, calculate the Manhattan distance from each car to the key point A1, and select the car with the shortest Manhattan distance as the preferred car. If there are multiple cars in the second conflict set, for example, if they have the same number of conflicts and none of them are carrying a load, continue to compare the Manhattan distances from each car to the key point A1, and select the car with the closest distance as the preferred car. Furthermore, if there is only one car in the second conflict set, that car is the preferred car.

[0086] The cars that need to pass through key point A1 are selected through steps S121-S123. The above method is based on the premise that there are multiple cars in the candidate set and that deadlock is expected to occur in the future.

[0087] According to a preferred embodiment of the present invention, the deadlock prevention method 10 further includes: when there is a remaining vehicle in the candidate set, controlling the vehicle to pass through the key point.

[0088] According to a preferred embodiment of the present invention, the deadlock prevention method 10 further includes: when there are two remaining cars in the candidate set and the remaining paths of the two cars do not overlap, controlling the two cars to pass through the key points in sequence.

[0089] After selecting the best car, it is also necessary to consider whether the car should continue along the remaining path after passing the key point A1, or change the path and temporarily go to the avoidance point to avoid the obstacle.

[0090] In step S13: The preferred vehicle is locked to the key point, the processor selects an avoidance point, and the preferred vehicle is controlled to move to the avoidance point. After the preferred vehicle is selected, this round of selection ends, and the remaining vehicles are reserved for the next round of selection. Then, the preferred vehicle is locked to key point A1, and the next path point to which the preferred vehicle will move, i.e., the avoidance point, needs to be determined.

[0091] According to a preferred embodiment of the present invention, step S13 further includes setting a path point that meets the following conditions as an avoidance point: (c1) it is adjacent to the key point and has a depth of 1; (c2) it is located in the outward direction of the key point and does not conflict with the driving direction of other vehicles; (c3) no other vehicles go to avoid it.

[0092] For example, for AGV1 and AGV2 with a conflict distance of 0, in step S12, the preferred vehicle AGV1 is selected. First, the driving direction that does not conflict with AGV1 and AGV2 is obtained as the available direction. Then, the path points with a depth of 1 around the key point A1 in the available direction are obtained as candidate points. Here, a depth of 1 means that the distance between the path point and the key point A1 is 1 code point, which is the smallest distance unit on the map. Next, the path points among the candidate points that are reachable by AGV1, do not obstruct AGV2, and are not selected by the preferred vehicle in other candidate sets are obtained. Finally, one of the points is selected as the avoidance point of AGV1.

[0093] According to a preferred embodiment of the present invention, step S13 further includes: after selecting the avoidance point, calculating and splicing the path from the current position of the preferred vehicle to the avoidance point and the path from the avoidance point to the endpoint of the preferred vehicle, and updating the path of the preferred vehicle. Continuing with AGV1 and AGV2, whose conflict distances are both 0, as an example, after AGV1 reaches the avoidance point via key point A1, if its updated path still needs to pass through key point A1, it can continue to compete for key point A1, that is, participate in the selection of the preferred vehicle in the next round of the candidate set. At this time, the conflict distance of AGV1 is the Manhattan distance to key point A1, and the conflict distance of AGV2 is 0. If there are only AGV1 and AGV2 in the candidate set, then AGV2 is selected as the preferred vehicle in this round of evaluation and can be locked and pass through key point A1.

[0094] According to a preferred embodiment of the present invention, step S13 further includes: when there is no suitable avoidance point or the avoidance point is located on the remaining path of the preferred vehicle, controlling the preferred vehicle to continue traveling along the remaining path. Continuing with the example of AGV1 and AGV2, whose conflict distances are both 0, after AGV1 reaches the avoidance point via key point A1, if its updated path does not require passing through key point A1 again, it can continue traveling along the remaining path. At this time, only AGV2 is in the candidate set, and AGV2 is the preferred vehicle, which can be locked and pass through key point A1.

[0095] In step S14: After the preferred vehicle passes the key point, the processor releases the lock and removes it from the candidate set. For example, if AGV1 locks key point A1, only AGV1 can pass through, and other vehicles cannot enter or pass through. Therefore, after AGV1 passes through, the lock needs to be released so that other vehicles can continue to compete for or pass through key point A1.

[0096] In step S15: Repeat steps S11-S14 until all cars in the candidate set pass the key point. After the preferred car in this round locks and passes the key point, if a new car application is added to the candidate set of key point A1, the candidate set is updated and the next round of selection continues; otherwise, the next round of selection continues based on the remaining cars in the candidate set until the number of cars in the candidate set of key point A1 is 0.

[0097] In summary, steps S11-S15 introduced deadlock prevention method 10, which scans path points that may cause conflicts as key points. When a vehicle is about to pass a key point, based on the number of conflicts, load conditions, and conflict distances of all vehicles in the candidate set, the vehicle is controlled to pass sequentially, either heading to an avoidance point to avoid the conflict or continuing the remaining path, thereby resolving deadlock situations in advance. The following examples further illustrate this.

[0098] Example 7

[0099] like Figure 5 As shown, AGV1 and AGV2 are about to cross the same intersection. As AGV2 moves forward, it adds itself to the candidate set of key points at the intersection. As AGV1 moves forward, it also applies to be added to the candidate set. Therefore, there are two AGVs in the candidate set. The selection of the preferred AGV then begins: since the conflict distances of AGV1 and AGV2 are both non-zero (i.e., the number of conflicts is zero), if one of them is not carrying a load, the unloaded AGV is the preferred AGV; otherwise, the preferred AGV is selected based on its distance to the key point. Figure 5 As shown, for example, AGV1 is 3 units away from the key point, and AGV2 is 1 unit away. Since AGV2 is closer to the key point, AGV2 is the preferred vehicle. AGV2 reaches the vicinity of the intersection, successfully obtains the key point lock, and passes through the intersection first. Then, it releases the lock and continues its journey along the remaining path. Simultaneously, the processor removes it from the candidate set. In the next round of evaluation, only AGV1 remains in the candidate set. AGV1 is then the preferred vehicle, can be locked and passed through the key point, and the processor releases the lock and removes it from the candidate set. This embodiment assumes no vehicle conflict.

[0100] Example 8

[0101] like Figure 6As shown, AGV1 and AGV2 are about to cross the same intersection, and AGV2 needs to pass through AGV1's current position after turning. As AGV2 moves forward, it is added to the candidate set of key points at the intersection. AGV1, while moving forward, also applies to be added to the candidate set. With two AGVs in the candidate set, the selection process begins: the conflict distance is calculated. AGV1's conflict distance is 0, and AGV2's conflict distance is the Manhattan distance to the key point. At this point, AGV1 has 1 conflict, and AGV2 has 0. Since AGV1 has more conflicts than AGV2, AGV1 is the preferred AGV. AGV1 reaches the vicinity of the intersection and successfully applies for key point locking. AGV1 passes through the intersection first, then releases the lock and continues the remaining path. Simultaneously, the processor removes AGV1 from the candidate set. In the next round of selection, only AGV2 remains in the candidate set. AGV2 is then the preferred AGV, can lock and pass through the key point, and the processor releases the lock and removes AGV2 from the candidate set. This embodiment anticipates and resolves deadlocks in advance.

[0102] Example 9

[0103] like Figure 7 As shown, AGV1 and AGV2 are about to cross the same intersection. After turning, AGV2 needs to pass through AGV1's current position, and AGV1 also needs to pass through AGV2's current position after turning. As AGV2 moves forward, it is added to the candidate set of key points at the intersection. As AGV1 moves forward, it is also added to the candidate set. Therefore, there are two AGVs in the candidate set. The selection of the preferred AGV begins: the conflict distance is calculated. The conflict distances of AGV1 and AGV2 are both 0, so the conflict count for both AGV1 and AGV2 is 1. If one of them is not carrying a load, the unloaded AGV is the preferred AGV; otherwise, the preferred AGV is selected based on the distance to the key point. Figure 7 As shown, for example, AGV1 is 3 units away from the key point, and AGV2 is 1 unit away. Since AGV2 is closer to the key point, AGV2 is the preferred vehicle. To determine the avoidance point for AGV2: Since the driving directions of AGV1 and AGV2 are unavailable, path points with a depth of 1 that are upwards or to the right at the intersection are available. For example, the point above can be selected as the avoidance point.

[0104] The AGV2 update path is: current position → key point of the intersection → avoidance point above the intersection → key point of the intersection → target position. When the AGV2 arrives near the intersection, it successfully obtains the key point lock. The AGV2 prioritizes passing through the intersection, then releases the lock, and the processor removes it from the candidate set.

[0105] Since AGV2's updated path still needs to pass through the key point of the intersection, AGV2 reapplies to be added to the candidate set for that key point. The candidate set is updated, and AGV1 and AGV2 participate in the next round of selection. The conflict distance is calculated: AGV1's conflict distance is 0, and AGV2's conflict distance is the Manhattan distance to the key point. At this point, AGV1 has 1 conflict, and AGV2 has 0. AGV1 has more conflicts than AGV2, making AGV1 the preferred vehicle. AGV1 reaches the vicinity of the intersection and successfully applies for key point locking. AGV1 passes through the intersection first, then releases the lock and continues the remaining path. Simultaneously, the processor removes it from the candidate set. At this point, only AGV2 remains in the candidate set, making AGV2 the preferred vehicle. It can lock and pass through the key point, and the processor releases the lock and removes it from the candidate set. This embodiment anticipates and resolves a circular deadlock in advance.

[0106] The deadlock prevention method 10 has been described in detail above through embodiments seven, eight, and nine. The technical solution of the present invention, by identifying and marking key points, can perform traffic control at key points in multi-vehicle situations to prevent deadlock, avoid collisions, and achieve conflict-free and efficient operation of AGVs.

[0107] According to a preferred embodiment of the present invention, the deadlock prevention method 10 further includes: when the next key point is detected or an obstacle is present within a first preset distance during the movement of the vehicle, setting the obstacle as an impassable point and replanning the path. The first preset distance is, for example, 10 code points. Obstacles include, for example, manually locked path points, fault-locked path points, shelves, offline vehicles, vehicles in abnormal states, erroneous vehicles, etc.

[0108] Figure 8 The diagram illustrates obstacle avoidance in Embodiment 10 of the present invention. The AGV1 travels in a dual-channel environment. When an obstacle is detected in the current channel, it is marked as an unreachable path point, and the AGV1 bypasses it through the adjacent channel.

[0109] Figure 9 The diagram illustrates obstacle avoidance in Embodiment 11 of the present invention. The AGV1 travels in a single channel. During the travel, if an obstacle is found in the current channel, the obstacle is set as an unreachable path point and the AGV1 is bypassed from the outside of the single channel.

[0110] According to a preferred embodiment of the present invention, the deadlock prevention method 10 further includes: when, during the movement of the vehicle, a vehicle in an idle state is detected that is less than a second preset distance from the last key point or less than a third preset distance from the endpoint, the vehicle in the idle state is triggered to leave the remaining path of the vehicle. The second preset distance is, for example, 10 code points, and the third preset distance is, for example, 10 code points; the second and third preset distances may also be unequal. When the vehicle in the idle state is triggered to avoid an obstacle, its target avoidance point satisfies the condition that it is not on the future path of the current vehicle.

[0111] Figure 10 The diagram illustrates an idle vehicle avoidance scenario according to Embodiment Twelve of the present invention. AGV1 travels to point d and encounters an idle AGV2 during its journey. AGV1 requests the dispatching unit to allow AGV2 to pass. AGV2 receives the avoidance task, selects the nearest reachable point a not on AGV1's path, and proceeds to avoid the idle vehicle. AGV1 then arrives at point d.

[0112] Figure 11 This diagram illustrates an idle vehicle avoidance strategy according to Embodiment Thirteen of the present invention. AGV1 travels to point d and encounters an idle AGV2 during its journey. AGV2 receives an avoidance task and selects the nearest reachable point e, which is not on AGV1's path. At this point, AGV1 and AGV2 are in the candidate set of key points at the T-junction. The conflict distance is calculated; AGV2's conflict distance is 0, while AGV1's conflict distance is the Manhattan distance to the key point. AGV2's conflict count is 1, and AGV1's conflict count is 0. AGV2 is the preferred vehicle and can lock and pass through the key point to reach point e. AGV1 waits near the intersection for AGV2 to pass before locking and passing through the key point to reach point d. This embodiment illustrates an avoidance strategy for key points at dead-end intersections.

[0113] Figure 12 The diagram illustrates an idle vehicle avoidance maneuver according to Embodiment Fourteen of the present invention. AGV1 travels to point d and encounters an idle AGV2 during its journey. AGV2 receives an avoidance task and selects the nearest reachable point e, which is not on AGV1's path. AGV2 reaches point e to avoid the obstacle, while AGV1 reaches point d.

[0114] Figure 13 This diagram illustrates an idle vehicle avoidance strategy according to Embodiment 15 of the present invention. AGV1 travels to point d and encounters an idle AGV2 during its journey. AGV2 receives an avoidance task and selects the nearest reachable point e, which is not on AGV1's path. AGV2 reaches point e to avoid the obstacle, while AGV1 reaches point d. This embodiment demonstrates a dead-end avoidance strategy.

[0115] The present invention also relates to a vehicle control system 20, such as Figure 14 As shown, it includes:

[0116] 21 small cars

[0117] The scheduling unit 22 communicates with the plurality of vehicles 21 and is configured to execute the deadlock prevention method 10 as described above.

[0118] According to a preferred embodiment of the present invention, the scheduling unit 22 further includes:

[0119] The locking management module 221 is configured to manage the locking requests and unlocking requests of the plurality of vehicles 21;

[0120] Path planning module 222 is configured to perform path planning for the plurality of vehicles 21; and

[0121] The deadlock prevention module 223 is coupled to the locking management module 221 and the path planning module 222, and is configured to control the multiple vehicles 21 to release deadlock, avoid obstacles, and trigger the vehicles 21 in the idle state to leave.

[0122] According to a preferred embodiment of the present invention, the trolley 21 is an automated guided vehicle.

[0123] The present invention also relates to a computer-readable storage medium including computer-executable instructions stored thereon, which, when executed by a processor, implement the deadlock prevention method 10 as described above.

[0124] Finally, it should be noted that the above descriptions are merely preferred embodiments of the present invention and are not intended to limit the present invention. Although the present invention has been described in detail with reference to the foregoing embodiments, those skilled in the art can still modify the technical solutions described in the foregoing embodiments or make equivalent substitutions for some of the technical features. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of the present invention should be included within the protection scope of the present invention.

Claims

1. A deadlock prevention method based on key points, comprising: S11: When a request to add key points to the vehicle is received, the vehicle is added to the candidate set of the key points by the processor; S12: When there are multiple cars in the candidate set, they are compared pairwise. For cars with overlapping paths, the processor evaluates the preferred car to pass through the key point based on the number of conflicts of each car and the distance to the key point. S13: Lock the preferred vehicle to the key point, select an avoidance point through the processor, and control the preferred vehicle to move to the avoidance point. Step S13 further includes: setting a path point that meets the following conditions as an avoidance point: adjacent to the key point and with a depth of 1; located in the outward direction of the key point and does not conflict with the driving direction of other vehicles; and no other vehicles are going to avoid it. S14: After the preferred vehicle passes the key point, the processor releases the lock and removes it from the candidate set; S15: Repeat steps S11-S14 until all cars in the candidate set pass the key point; In step S12, based on the paths of each car, the paths are compared in pairs to calculate the conflict distance to the conflicting path. When the conflict distance of two cars is 0, the remaining paths of the two cars overlap. Specifically, if the remaining path of one car passes the key point and then needs to pass through the current position of another car, and the path of the one car from the key point to the current position of the other car overlaps with the path of the other car from its current position to the key point, then the conflict distance of the other car is 0. Otherwise, the conflict distance of the other car is the Manhattan distance from the current position of the other car to the key point. The number of cars whose remaining paths overlap with those of another car is the number of collisions for that car. The deadlock prevention method further includes: scanning based on map edge relationships and setting path points that meet the following conditions as critical points: (a1): The total number of outgoing and incoming edges is greater than or equal to 3; (a2): Outgoing edges are greater than or equal to 2; and (a3): At least one adjacent path point is in the alleyway; where the path point that is determined to be a key point is denoted as the first path point, and the path point adjacent to the first path point is denoted as the second path point. When conditions (b1) and (b2) are satisfied, the second path point adjacent to the first path point is determined to be in the alleyway. (b1): The number of path points adjacent to the second path point is less than the number of path points adjacent to the first path point; (b2): One of the following conditions must be met: the number of path points adjacent to the second path point is 1; or, the number of path points adjacent to the second path point is 2, and the two adjacent path points and the second path point do not form a right angle; or, the number of path points adjacent to the second path point is 3, and the angle formed after removing the first path point is not a straight angle.

2. The deadlock prevention method as described in claim 1, wherein step S12 further includes: S121: For cars with overlapping paths, calculate the number of conflicts for each car and add the car with the most conflicts to the preferred conflict set. S122: For all the vehicles in the preferred conflict set, select the vehicles that are in an unloaded state and add the vehicles in the unloaded state to the second conflict set; S123: For all cars in the second conflict set, calculate the Manhattan distance of each car to the key point, and select the car with the shortest Manhattan distance as the preferred car.

3. The deadlock prevention method as described in claim 1 further includes: When only one car remains in the candidate set, control the car to pass through the key point.

4. The deadlock prevention method as described in claim 1, further comprising: When two cars remain in the candidate set, and the remaining paths of the two cars do not overlap, control the two cars to pass through the key point in sequence.

5. The deadlock prevention method as described in claim 1, wherein step S13 further includes: After selecting an avoidance point, calculate and concatenate the path from the current position of the preferred vehicle to the avoidance point and the path from the avoidance point to the endpoint of the preferred vehicle, and update the path of the preferred vehicle.

6. The deadlock prevention method as described in claim 1, wherein step S13 further includes: When there is no suitable avoidance point or the avoidance point is located on the remaining path of the preferred vehicle, the preferred vehicle is controlled to continue traveling along the remaining path.

7. The deadlock prevention method as described in claim 5, further comprising: When the vehicle is traveling, if the next key point is detected or an obstacle is found within the first preset distance, the obstacle is set as an impassable point and the path is replanned.

8. The deadlock prevention method as described in claim 5, further comprising: During the vehicle's movement, if an idle vehicle is detected that is less than a second preset distance from the last key point or less than a third preset distance from the endpoint, the idle vehicle is triggered to leave the remaining path of the vehicle.

9. A vehicle control system, comprising: Multiple cars, The scheduling unit communicates with the plurality of vehicles and is configured to execute the deadlock prevention method as described in any one of claims 1-8.

10. The vehicle control system as described in claim 9, wherein the scheduling unit further comprises: The locking management module is configured to manage the locking requests and unlocking requests of the multiple vehicles; The path planning module is configured to perform path planning for the multiple vehicles. and The deadlock prevention module, coupled to the locking management module and the path planning module, is configured to control the multiple vehicles to unlock, avoid obstacles, and trigger idle vehicles to leave.

11. The vehicle control system as described in claim 9 or 10, wherein the vehicle is an automated guided vehicle (AGV).

12. A computer-readable storage medium comprising computer-executable instructions stored thereon, the executable instructions, when executed by a processor, implementing the deadlock prevention method as described in any one of claims 1-8.

Citation Information

Patent Citations

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

    CN110058586A

  • AGV scheduling method and device based on intersection area prediction

    CN110751334A