A method for preventing deadlock in AMR scheduling system
By receiving point application information in the AMR scheduling system, obtaining path information, and judging the legality of the points to be applied based on the deadlock prevention strategy, the high computational complexity and collision problems in the prior art are solved, and effective deadlock prevention and safe driving of AMR are achieved.
Patent Information
- Application Number
- CN202111486642.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-12-07
- Publication Date
- 2025-05-23
- Estimated Expiration
- 2041-12-07
AI Technical Summary
The existing AMR scheduling system has a high computational complexity, which leads to a long calculation time when there are too many AMRs, and the body size is not considered when AMR applies for points, resulting in collision problems between two relatively close points.
By receiving the point application information sent by the AMR, the path information of the AMR is obtained, and based on the pre-established deadlock strategy for the point application, it is determined whether the point to be applied belongs to the point in the path information of the AMR, and whether the point to be applied is locked to the AMR. The strategy includes detecting whether the point to be applied is occupied by other cars, whether there is a collision, whether it is in a conflicting section, whether the channel rules are met, whether it is in the collision range of the point, and whether it is in the traffic management block that has been occupied.
Effectively prevent deadlock, reduce the computational complexity, and consider the AMR's own information in point locking, avoid collisions, and ensure the reasonable and safe driving of AMR.
Smart Images

Figure CN114265705B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of robot technology, and in particular to a method for preventing deadlock in an AMR scheduling system. Background Art
[0002] AMR (Autonomous Mobile Robot) is a new generation of robot technology with intelligent perception and autonomous mobility capabilities developed after the traditional AGV (Automated Guided Vehicle). It is an important part of modern industrial automation logistics systems.
[0003] The AMR dispatching system is the control software used for basic functions in the AMR system, such as path planning, task sending and receiving, and traffic management. Traffic management is to avoid collisions and deadlocks in the concurrent operation of multiple AMR clusters. The dispatching system is required to control the travel order and priority of AMRs. Deadlock means that multiple vehicles occupy each other's resources, resulting in each vehicle being unable to apply for the required resources.
[0004] The AMR scheduling system in the prior art has high computational complexity, which results in a long computation time when there are a large number of AMRs. At the same time, the body size of the AMR is not considered when the AMR applies for a point, resulting in a collision problem between two relatively close points. Summary of the invention
[0005] 1. Technical issues to be resolved
[0006] In view of the above-mentioned shortcomings and deficiencies of the prior art, the present invention provides a method for preventing deadlock in an AMR scheduling system.
[0007] (II) Technical solution
[0008] In order to achieve the above object, the main technical solutions adopted by the present invention include:
[0009] In a first aspect, an embodiment of the present invention provides a method for preventing deadlock in an AMR scheduling system, including:
[0010] S10, receiving the point application information sent by the AMR;
[0011] S20, acquiring the path information of the AMR according to the point application information;
[0012] S30, determining whether the point to be applied for in the point application information belongs to the point in the path information, and if so, determining whether to lock the point to be applied for to the AMR according to a deadlock prevention strategy for point application established in advance;
[0013] The deadlock prevention strategy for the point application includes one or more of the following: detecting whether the point to be applied is occupied by other vehicles, detecting whether the point to be applied has collided with other vehicles, detecting whether the point to be applied belongs to a driving conflict section of other vehicles, detecting whether the point to be applied meets the channel rules, detecting whether the point to be applied is in the point collision range, and detecting whether the point to be applied is in an occupied traffic control block.
[0014] Optionally, the deadlock prevention method further includes:
[0015] If all the detections of the points to be applied for are passed, the points to be applied for are locked as occupied points of the AMR, and a response of successful point application is sent to the AMR.
[0016] Optionally, the point application information includes: the location information of the AMR at the current moment, the identifier of the AMR, and the information of the point to be applied for;
[0017] The S20 includes:
[0018] According to the identification of the AMR and the position information, the path information of the AMR and the points that the AMR has occupied at the current moment are determined, as well as whether there are any points that have been passed among the points that have been occupied.
[0019] Optionally, the S30 includes:
[0020] If there are already passed points among the occupied points, then the passed points will be released;
[0021] And determine whether it is greater than the maximum locking point distance according to the information of the point to be applied for and the position information of the AMR at the current moment;
[0022] If it is not greater than the maximum locking point distance, and the point to be applied for belongs to the point in the path information of the AMR, then according to the deadlock prevention strategy for point application established in advance, it is determined whether to lock the point to be applied for to the AMR.
[0023] Optionally, the step of determining whether to lock the to-be-applied point to the AMR according to the deadlock prevention strategy for the pre-established point application in S30 includes:
[0024] S31, obtaining the occupied position information of all AMRs in the running stage at the current moment, and determining whether the position to be applied for is a position already occupied by other vehicles;
[0025] S32, if not, then obtaining, according to the attribute information of the point to be applied for, a first virtual point set of the point to be applied for and a second virtual point set of the points already occupied by other AMRs in the running stage, and determining whether each virtual point in the first virtual point set collides with other running AMRs and each virtual point in the second virtual point set;
[0026] S33, if not, obtaining the conflicting road section according to the path information of the AMR and the path information of other AMRs, and determining whether the point to be applied for is in the first type of conflicting road section, and there are other AMRs walking in the first type of conflicting road section;
[0027] If not, wait until all the application point tests are passed.
[0028] Optionally, the step of determining whether to lock the pending application point to the AMR according to the deadlock prevention strategy for the pre-established point application in S30 further includes:
[0029] S34, if not, judging whether the large entry point of the area where the point to be applied for is located belongs to the large entry point of other AMR endpoints, and whether the small entry points of the area where the point to be applied for is located include other AMR endpoints, and if so, whether other AMRs have entered the channel area corresponding to the endpoint;
[0030] S35: If not, determine, based on the basic attribute information of the AMR and the information of the location to be applied for, whether the first boundary range of the location to be applied for overlaps with the first boundary range of location information already occupied by other AMRs;
[0031] The basic attribute information of the AMR is the information in the point application information, or is the information reported by the AMR in real time;
[0032] S36, if not, determining whether the information of the point to be applied for is located in a traffic control block, and if so, determining whether the traffic control block is already occupied;
[0033] If not, wait until all the application point tests are passed.
[0034] Optionally, the attribute information of the point to be applied for in S32 includes:
[0035] The entry and exit edges of the points to be applied for;
[0036] The first virtual point set of the points to be applied for includes: coordinates of virtual points defined within an interval of 0.2 to 0.4 meters on the input edge;
[0037] The second virtual point set of the points already occupied by other AMRs includes: virtual points defined within an entry interval of 0.2 to 0.4 meters of each occupied point.
[0038] Optionally, the conflicting road section is a road section traveling in opposite directions in a two-way path;
[0039] The major entry points on the electronic map are points on the main roads, and the other entry points are minor entry points;
[0040] The basic attribute information of the AMR includes: the body angle, body size and / or rotation radius of the AMR within a preset time period;
[0041] The traffic control block is a pre-configured traffic area including multiple points. If one point in the traffic control block is occupied, the traffic control block is occupied.
[0042] Optionally, the electronic map is a dispatch map of all AMRs, a plurality of points are set in the dispatch map, each point is defined with an input edge and an output edge, and each point corresponds to a first virtual point set and a second virtual point set;
[0043] The connecting straight lines of adjacent points are used as edges. Each edge has a direction. All AMRs drive in the direction of the edge. According to the direction of the edge, each point is defined with an input edge and an output edge. Each point corresponds to a first virtual point set and a second virtual point set.
[0044] The path information of each AMR is a path with a predefined start and end point. The points on the path are locked or not based on the driving position.
[0045] In a second aspect, an embodiment of the present invention further provides a scheduling device for an AMR scheduling system, comprising: a memory and a processor, wherein the memory is used to store a computer program, and the processor is used to execute the computer program stored in the memory and execute the steps of the method for preventing deadlock in the AMR scheduling system described in any one of the first aspects above.
[0046] (III) Beneficial effects
[0047] The method of the present invention combines the current AMR path information and the predefined deadlock prevention strategy, and can effectively prevent deadlock in the process of locking the point, and can also reduce the calculation complexity. In addition, the AMR's own information is effectively considered in the point locking, which effectively avoids collisions and ensures the reasonable and safe driving of each AMR.
[0048] That is to say, in the embodiment of the present invention, collision edge detection and point collision detection are adopted, and the collision can be detected according to the actual size of the AMR, so that the point locking process of the AMR is closer to the actual operating effect; further, the configuration of the traffic control block is added to the strategy summary, which can prevent special deadlock situations according to actual on-site needs. BRIEF DESCRIPTION OF THE DRAWINGS
[0049] Figure 1 A flowchart of a method for preventing deadlock in an AMR scheduling system provided by an embodiment of the present invention;
[0050] Figure 2 A flowchart of a method for preventing deadlock in an AMR scheduling system provided in another embodiment of the present invention;
[0051] Figure 3 It is a schematic diagram of the channel in the electronic map;
[0052] Figure 4 A schematic diagram of conflict paths in an electronic map;
[0053] Figure 5 This is a structural diagram of the scheduling equipment in the AMR scheduling system. DETAILED DESCRIPTION
[0054] In order to better explain the present invention and facilitate understanding, the present invention is described in detail below through specific implementation modes in conjunction with the accompanying drawings.
[0055] In this embodiment, an electronic map applicable to each AMR pre-exists in the AMR scheduling system. The electronic map can be a scheduling map for all AMRs. A plurality of points are arranged in the scheduling map. Each point is defined with an input edge and an output edge, and each point corresponds to a virtual point set. In the following description, a first virtual point set and a second virtual point set are used for better distinction. For one point, the virtual point elements in its virtual point set are the same.
[0056] The straight lines connecting adjacent points are used as edges. Each edge has a direction. All AMRs drive in the direction of the edge. According to the direction of the edge, each point is defined with an in-edge and an out-edge.
[0057] The path information of each AMR is a path with a predefined start and end point. The points on the path are locked or not based on the driving position.
[0058] Embodiment 1
[0059] like Figure 1 and Figure 2As shown, an embodiment of the present invention provides a method for preventing deadlock in an AMR scheduling system. The execution subject of the method of this embodiment may be a scheduling device in the AMR scheduling system, and the scheduling device analyzes the global information and the information of the AMR itself to obtain whether the current AMR's pending application point is locked. The method of this embodiment may include the following steps:
[0060] S10, receiving the point application information sent by the AMR;
[0061] For example, the point application information includes: the location information of the AMR at the current moment, the identifier of the AMR, and the information of the point to be applied for.
[0062] In addition, it should be noted that each running AMR communicates with the dispatching equipment in real time, reporting its own location information and its own basic attribute information such as body angle, rotation radius, etc.
[0063] S20. Acquire the path information of the AMR according to the point application information.
[0064] The path information of this step is the full path from the starting point to the end point. Some descriptions in the following embodiments use the full path, and the meanings are the same.
[0065] S30, determining whether the point to be applied for in the point application information belongs to the point in the path information, and if so, determining whether to lock the point to be applied for to the AMR according to a deadlock prevention strategy for point application established in advance;
[0066] The deadlock prevention strategy for the point application includes one or more of the following: detecting whether the point to be applied is occupied by other vehicles, detecting whether the point to be applied has collided with other vehicles, detecting whether the point to be applied belongs to a driving conflict section of other vehicles, detecting whether the point to be applied meets the channel rules, detecting whether the point to be applied is in the point collision range, and detecting whether the point to be applied is in an occupied traffic control block.
[0067] Furthermore, the above method further includes the following step S40 which is not shown in the figure:
[0068] S40: If all the detections of the points to be applied for are passed, the points to be applied for are locked as the occupied points of the AMR, and a response indicating that the point application is successful is sent to the AMR.
[0069] The above method can be used to apply for point occupancy in each AMR operation. In this embodiment, point occupancy is locking, which can ensure the safe and efficient driving of all AMRs in the dispatching system.
[0070] In this embodiment, by combining the current AMR path information and the predefined deadlock prevention strategy, the deadlock phenomenon can be effectively prevented during the point locking process, and the calculation complexity can be reduced. In addition, the AMR's own information is effectively considered in point locking, collisions are effectively avoided, and the reasonable and safe driving of each AMR is ensured.
[0071] Embodiment 2
[0072] Combination Figures 2 to 4 As shown, the method for preventing deadlock in the AMR scheduling system of this embodiment is described in detail. The following methods are all completed in the scheduling device of the scheduling system. In order to better illustrate each step, step numbers 201 to 211 are added in the following description. Figures 2 to 4 These step numbers are not shown in the Figure 2 The corresponding relationship between each judgment content and each step is described in detail in the description of each step.
[0073] 201. Receive point application information sent by AMR.
[0074] 202. Determine, based on the point application information, the path information of the AMR and the points that the AMR has occupied at the current moment, and whether there are any points that have been traveled among the occupied points.
[0075] 203. If there are points that have been passed among the occupied points, release the points that have been passed; and determine whether it is greater than the maximum locking point distance based on the information of the points to be applied for and the position information of the AMR at the current moment; if not, execute step 204, otherwise, the locking fails.
[0076] The maximum locking point distance in this embodiment is predefined. What is actually determined is whether the distance between the current position of the AMR and the point to be applied for is less than the maximum locking point distance.
[0077] 204. If it is not greater than the maximum locking point distance, and the point to be applied for belongs to the point in the path information of the AMR, execute the following step 205, otherwise, the locking fails.
[0078] The above steps 202 and 204 correspond to Figure 2 The process of checking before locking points in the AMR mainly determines whether the point to be applied is within the path of the AMR to prevent locking errors and reasonably release the path points that have been traversed; it calculates that all locking point distances do not exceed the preset maximum locking point distance, which can effectively avoid locking point distances that are too long and waste resources.
[0079] All the locking point distances here refer to the distance between each point determined from the occupied but untraveled points and the point to be applied for as the locking point distance.
[0080] Usually, the dispatch system will record each point that the AMR has occupied, and these points are called lock points. In addition, the AMR can send point application information once every 1 second.
[0081] 205. Obtain the occupied position information of all AMRs currently in operation, and determine whether the position to be applied for is a position already occupied by other vehicles; if not, execute step 206; otherwise, the locking fails.
[0082] In this step, the main purpose is to determine whether the location to be applied for is occupied by other AMRs. If so, the application fails to avoid multiple AMRs applying for the same location, causing collisions or conflicts.
[0083] Its corresponding Figure 2 If the lock fails, the AMR will re-initiate a new point application according to the point application cycle until it succeeds.
[0084] 206. If the point to be applied for in step 205 does not belong to the point already occupied by other vehicles, then according to the attribute information of the point to be applied for (such as the input edge, the output edge, the interval of the virtual point, etc.), obtain the first virtual point set of the point to be applied for, and the second virtual point set of the points already occupied by other AMRs in the operation stage, and determine whether each virtual point in the first virtual point set collides with other running AMRs and each virtual point in the second virtual point set; if not, execute step 207, otherwise, the locking fails.
[0085] This step corresponds to Figure 2 The collision edge detection in the process is to obtain the input edge of the point to be applied for, generate a virtual point every 0.2 meters on this edge, and obtain the first virtual point set on the edge. Calculate all other AMRs within a certain range for each virtual point in the first virtual point set, and determine whether the virtual point will collide with other AMRs. Obtain the locking edge information (i.e., placeholder information) of other AMRs, and determine whether the virtual point collides with all virtual points generated by other AMRs on the input and output edges. If all judgments show no collision, execute the following step 207, otherwise the locking point fails.
[0086] like Figure 3 As shown, if the direction of an edge is from point A to point B, then this edge is called the outgoing edge of point A and the incoming edge of point B.
[0087] For example, the first set of virtual points to be applied for includes: coordinates of virtual points defined within an interval of 0.2 to 0.4 meters on the input edge;
[0088] The second set of virtual points of the points already occupied by other AMRs includes: coordinates of virtual points defined within an entry interval of 0.2 to 0.4 meters of each occupied point.
[0089] For each point, its virtual point set is consistent. In this embodiment, in order to reasonably distinguish, the first and the second are used for explanation.
[0090] The collision detection may be implemented by using the existing separation axis algorithm. 0.2 meters is selected as a virtual point, and 0.3 meters may be selected as a virtual point. The setting may be pre-set and is not limited in this embodiment.
[0091] A virtual point is a point that does not exist on the electronic map. It is a temporarily defined point that is not displayed and is stored in the scheduling system cache. All properties of the virtual point are the same as those of the real point, and it also has corresponding coordinates.
[0092] Usually, when a locking point fails, the AMR scheduling system will not record the locking point. The AMR will continue to apply for the point the next time until the application is successful.
[0093] 207. If there is no collision in step 206, obtain the conflicting section according to the path information of the AMR and the path information of other AMRs, and determine whether the point to be applied for is in the first type of conflicting section, and there are other AMRs walking in the first type of conflicting section; if not, execute step 208, otherwise, locking fails.
[0094] This step corresponds to Figure 2 Path conflict detection in the process is to check the conflicting sections between the path information of the current AMR and the path information of other AMRs. The conflicting sections refer to the sections where the two AMRs are traveling in opposite directions on a two-way path, such as Figure 4 If the point to be applied for is within the conflicting section, and the AMR with the conflicting path has already traveled within the conflicting section, the point locking fails, otherwise, step 208 is executed.
[0095] In this embodiment, the conflicting road section is a road section on a two-way path where vehicles travel in opposite directions; the first type of conflicting road section may be a road section on which other AMRs are traveling and on which the two-way path travels in opposite directions.
[0096] 208. If the first conflicting section is not in step 207, then determine, based on the large entry point set and small entry point set of the electronic map, whether the large entry point of the area where the point to be applied is located belongs to the large entry point of other AMR endpoints, and whether the small entry points of the area where the point to be applied is located include other AMR endpoints. If they are included, and whether there are other AMRs that have entered the channel area corresponding to the endpoint; if not, execute step 209, otherwise, locking fails.
[0097] This step corresponds to Figure 2 Channel rule detection in , such as Figure 4As shown, points on the main road are called large entry points, such as point A and point B, and other entry points are called small entry points, such as point C. When the system starts, the electronic map is parsed to calculate the set of all large entry points and small entry points in the map. It is determined whether the large entry point of the area where the point to be applied is located is the same as the large entry point of other AMR target points, i.e., the end point. If they are different, step 209 is executed.
[0098] In addition, determine whether all the small entry points of the points to be applied contain the target point, i.e., the end point, of other AMRs. If so, further confirm whether other AMRs have entered the channel. If so, the locking point fails.
[0099] In this embodiment, the major entry point of the electronic map is a point on the main road, and the other entry points are minor entry points.
[0100] 209. If the answers in step 208 are all No, determine whether the first boundary range of the point to be applied for overlaps with the first boundary range of the point information already occupied by other AMRs based on the basic attribute information of the AMR and the information of the point to be applied for; if not, execute step 210, otherwise, locking fails.
[0101] This step corresponds to Figure 2 Point collision detection in, for example, save the coordinates of the point to be applied, the body angle before the application point, the body angle changed after the application point, the body size, the rotation radius of the car and other information. Calculate other occupied points within a certain range of the application point (i.e., the first boundary range), and save all the lock point information. The separation axis algorithm can be used to determine whether the first boundary range of the application point and the first boundary range of the occupied point overlap. If so, it means that a collision may occur and the lock point fails; otherwise, execute step 210.
[0102] The basic attribute information of the AMR is the information in the point application information, or the information reported by the AMR in real time, which includes the body angle, body size, and rotation radius of the AMR within a preset time period.
[0103] 210. If there is no overlap in step 209, determine whether the information of the point to be applied is located in a traffic control block. If so, determine whether the traffic control block has been occupied; if not, execute 211, otherwise, the locking fails.
[0104] This step corresponds to the traffic control block detection in Figure 2. The function of the traffic control block is that only one point in the block can be occupied at the same time. The traffic control block is configured in the database before the dispatching system is run. When the dispatching system performs traffic control block detection, it first reads all traffic control blocks from the database to determine whether the requested point is in the traffic control block. If so, it further determines whether the traffic control block has been occupied. If not, it executes step 211.
[0105] The traffic control block of this embodiment is set to prevent deadlock. The traffic control block is a pre-configured traffic area including multiple points. If one point in the traffic control block is occupied, the traffic control block is occupied.
[0106] 211. If all the detections of the points to be applied for are passed, the points to be applied for are locked as occupied points of the AMR, and a response indicating successful application of the points is sent to the AMR.
[0107] In this embodiment, the above judgment process can be executed in parallel or in a different order. The above order is not limited. This embodiment is illustrated by an execution order, which can be selected according to actual needs.
[0108] In addition, in this embodiment, the above-mentioned various judgment processes are not all necessary, and the information items of the deadlock prevention strategy applied for the selection point can be determined according to the basic information of the path and edge in the actual scheduling map.
[0109] In the method of this embodiment, collision edge detection and point collision detection are adopted, and collision can be detected according to the actual size of the AMR, so that the point locking process of the AMR is closer to the actual operating effect; further, the configuration of the traffic control block is added to the strategy summary, which can prevent special deadlock situations according to actual on-site needs.
[0110] Embodiment 3
[0111] like Figure 5 As shown, this embodiment also provides a scheduling device, including: a memory and a processor; the processor is used to execute a computer program stored in the memory to implement the steps of the deadlock prevention method described in any of the above-mentioned embodiments 1 and 2.
[0112] Specifically, Figure 5 As shown, the electronic device of this embodiment may include: at least one processor 51, at least one memory 52, at least one network interface 54 and / or other user interface 53. The various components in the electronic device are coupled together through a bus system 55. It can be understood that the bus system 55 is used to achieve connection and communication between these components. In addition to the data bus, the bus system 55 also includes a power bus, a control bus and a status signal bus. However, for the sake of clarity, Figure 5 Various buses are labeled as bus system 55 .
[0113] The electronic device of this embodiment can execute Figures 1 to 4 In any of the methods shown, the user interface 53 may include a display, a keyboard, or a pointing device (eg, a mouse or a touch pad, etc.).
[0114] It can be understood that the memory 52 in this embodiment can be a volatile memory or a non-volatile memory, or can include both volatile and non-volatile memories. The memory 52 described herein includes any other suitable type of memory.
[0115] In some implementations, the memory 52 stores the following elements, executable units or data structures, or a subset thereof, or an extended set thereof: an operating system 521 and application programs 522 .
[0116] The operating system 521 includes various system programs, such as a framework layer, a core library layer, a driver layer, etc., which are used to implement various basic services and process hardware-based tasks. The application 522 includes various application programs, such as a media player (MediaPlayer), a browser (Browser), etc., which are used to implement various application services. The program for implementing the method of the embodiment of the present invention can be included in the application 522.
[0117] In the embodiment of the present invention, the processor 51 calls the program or instructions stored in the memory 52, specifically, the program or instructions stored in the application 522, and the processor 51 is used to execute the method steps provided in the first aspect.
[0118] The method disclosed in the above embodiment of the present invention can be applied to the processor 51, or implemented by the processor 51. The processor 51 may be an integrated circuit chip with signal processing capabilities. In the implementation process, each step of the above method can be completed by a hardware integrated logic circuit in the processor 51 or an instruction in the form of software. The above processor 51 may be a general-purpose processor, a digital signal processor (DSP), an application-specific integrated circuit, or a processor 51.
[0119] (Application Specific Integrated Circuit, ASIC), off-the-shelf programmable gate array (Field Programmable Gate Array, FPGA) or other programmable logic devices, discrete gates or transistor logic devices, discrete hardware components. The methods, steps and logic block diagrams disclosed in the embodiments of the present invention can be implemented or executed. The general processor can be a microprocessor or the processor can also be any conventional processor, etc. The steps of the method disclosed in the embodiments of the present invention can be directly embodied as a hardware decoding processor to be executed, or can be executed by a combination of hardware and software units in the decoding processor. The software unit can be located in a mature storage medium in the field such as a random access memory, a flash memory, a read-only memory, a programmable read-only memory or an electrically erasable programmable memory, a register, etc. The storage medium is located in the memory 52, and the processor 51 reads the information in the memory 52 and completes the steps of the above method in combination with its hardware.
[0120] On the other hand, an embodiment of the present invention further provides a computer-readable storage medium, which is used to store a computer program, and when the computer program is executed by a processor, the steps of the method for preventing deadlock in any of the above embodiments are implemented.
[0121] It should be noted that in the claims, any reference numerals placed between brackets shall not be construed as limiting the claims. The word "comprising" does not exclude the presence of components or steps not listed in the claims. The word "a" or "an" preceding a component does not exclude the presence of a plurality of such components. The invention may be implemented by means of hardware comprising several different components and by means of a suitably programmed computer. In the claims enumerating several means, several of these means may be embodied by the same hardware. The use of the words first, second, third, etc., is for convenience of expression only and does not indicate any order. These words may be understood as part of the component name.
[0122] In addition, it should be noted that, in the description of this specification, the description of the terms "one embodiment", "some embodiments", "embodiment", "example", "specific example" or "some examples" etc. means that the specific features, structures, materials or characteristics described in conjunction with the embodiment or example are included in at least one embodiment or example of the present invention. In this specification, the schematic representations of the above terms do not necessarily refer to the same embodiment or example. Moreover, the specific features, structures, materials or characteristics described may be combined in any one or more embodiments or examples in a suitable manner. In addition, those skilled in the art may combine and combine the different embodiments or examples described in this specification and the features of the different embodiments or examples, unless they are contradictory.
[0123] Although the preferred embodiments of the present invention have been described, those skilled in the art may make other changes and modifications to these embodiments after knowing the basic creative concept. Therefore, the claims should be interpreted as including the preferred embodiments and all changes and modifications falling within the scope of the present invention.
[0124] Obviously, those skilled in the art can make various modifications and variations to the present invention without departing from the spirit and scope of the present invention. Thus, if these modifications and variations of the present invention fall within the scope of the claims of the present invention and their equivalents, the present invention should also include these modifications and variations.
Claims
1. A method for preventing deadlock in an AMR scheduling system. It is characterized in that include: S10, receiving the point application information sent by the AMR; The point application information includes: the current position information of the AMR, the AMR identifier, and the information of the point to be applied; S20. Acquire path information of the AMR according to the point application information, where the path information is the full path from the starting point to the end point; Specifically, according to the identifier of the AMR and the location information, determine the path information of the AMR and the points that the AMR has occupied at the current moment, and whether there are points that have been walked through among the points that have been occupied; S30, if there is a point that has been passed among the occupied points, release the point that has been passed; And determine whether it is greater than the maximum locking point distance according to the information of the point to be applied for and the position information of the AMR at the current moment; If it is not greater than the maximum locking point distance, and the point to be applied for belongs to the point in the path information of the AMR, then determine whether to lock the point to be applied for to the AMR according to the deadlock prevention strategy of the pre-established point application; The deadlock prevention strategy of the point application includes the following multiple items: detecting whether the point to be applied belongs to information occupied by other cars, detecting whether the point to be applied has a collision with other cars, detecting whether the point to be applied belongs to a driving conflict section of other cars, detecting whether the point to be applied meets the channel rules, detecting whether the point to be applied is in the point collision range, and detecting whether the point to be applied is in an occupied traffic control block; The traffic control block is a pre-configured traffic area including multiple points. If one point in the traffic control block is occupied, the traffic control block is occupied; The step S30 of determining whether to lock the pending application point to the AMR according to the deadlock prevention strategy of the pre-established point application includes: S31, obtaining the occupied position information of all AMRs in the running stage at the current moment, and determining whether the position to be applied for is a position already occupied by other vehicles; S32, if not, then obtaining, according to the attribute information of the point to be applied for, a first virtual point set of the point to be applied for and a second virtual point set of the points already occupied by other AMRs in the running stage, and determining whether each virtual point in the first virtual point set collides with other running AMRs and each virtual point in the second virtual point set; S33, if not, obtaining the conflicting road section according to the path information of the AMR and the path information of other AMRs, and determining whether the point to be applied for is in the first type of conflicting road section, and there are other AMRs walking in the first type of conflicting road section; If not, wait until all the applied point tests are passed; The step S30 of determining whether to lock the pending application point to the AMR according to the deadlock prevention strategy of the pre-established point application may further include: S34, if not, judging whether the large entry point of the area where the point to be applied for is located belongs to the large entry point of other AMR endpoints, and whether the small entry points of the area where the point to be applied for is located include other AMR endpoints, and if so, whether other AMRs have entered the channel area corresponding to the endpoint; S35: If not, determine, based on the basic attribute information of the AMR and the information of the location to be applied for, whether the first boundary range of the location to be applied for overlaps with the first boundary range of location information already occupied by other AMRs; The basic attribute information of the AMR is the information in the point application information, or is the information reported by the AMR in real time; S36, if not, determining whether the information of the point to be applied for is located in a traffic control block, and if so, determining whether the traffic control block is already occupied; If not, wait until all the applied point tests are passed.
2. The method for preventing deadlock according to claim 1, It is characterized in that Also includes: If all the detections of the points to be applied for are passed, the points to be applied for are locked as occupied points of the AMR, and a response of successful point application is sent to the AMR.
3. The method for preventing deadlock according to claim 1, It is characterized in that The attribute information of the point to be applied for in S32 includes: The entry and exit edges of the points to be applied for; The first virtual point set of the points to be applied for includes: coordinates of virtual points defined within an interval of 0.2 to 0.4 meters on the input edge; The second virtual point set of the points already occupied by other AMRs includes: virtual points defined within an entry interval of 0.2 to 0.4 meters of each occupied point.
4. The method for preventing deadlock according to claim 1, It is characterized in that The conflicting road section is a road section where vehicles travel in opposite directions on a two-way path; The major entry points on the electronic map are points on the main roads, and the other entry points are minor entry points; The basic attribute information of the AMR includes: the body angle, body size, and rotation radius of the AMR within a preset time period.
5. The method for preventing deadlock according to any one of claims 1 to 4, It is characterized in that The electronic map is a dispatch map of all AMRs, and a plurality of points are set in the dispatch map, each point is defined with an in-edge and an out-edge, and each point corresponds to a first virtual point set and a second virtual point set; The connecting straight lines of adjacent points are used as edges. Each edge has a direction. All AMRs drive in the direction of the edge. According to the direction of the edge, each point is defined with an input edge and an output edge. Each point corresponds to a first virtual point set and a second virtual point set. The path information of each AMR is a path with a predefined start and end point. The points on the path are locked or not based on the driving position.
6. A dispatching device for an AMR dispatching system, It is characterized in that include: A memory and a processor, wherein the memory is used to store a computer program, and the processor is used to execute the computer program stored in the memory and execute the steps of the method for preventing deadlock in the AMR scheduling system as described in any one of claims 1 to 5.
Citation Information
Patent Citations
Multi-robot intelligent traffic control method and device
CN113156950A