Intelligent agent dynamic scheduling method and device based on deadlock prediction
The method and device for intelligent agent scheduling address deadlock conflicts by predicting and resolving them using the Dijkstra algorithm and unlocking strategies, enhancing the stability and efficiency of smart logistics systems.
Patent Information
- Application Number
- CN202411118673.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-08-15
- Publication Date
- 2024-12-13
AI Technical Summary
Existing intelligent logistics systems face deadlock conflicts due to resource competition among multiple intelligent agents, leading to disrupted operations in uncertain dynamic environments, which current scheduling methods struggle to accurately predict and resolve.
A method and device for dynamic scheduling of intelligent agents based on deadlock prediction, using the Dijkstra algorithm to determine shortest paths and employing unlocking strategies to resolve impending deadlocks, ensuring efficient and conflict-free operation.
Accurately predicts and resolves impending deadlocks, enabling reasonable scheduling of map resources and improving the stability and flexibility of smart logistics systems.
Smart Images

Figure CN119130307A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the technical field of dynamic scheduling of intelligent agents, and in particular to a method and device for dynamic scheduling of intelligent agents based on deadlock prediction. Background Art
[0002] With the development of science and technology, intelligent logistics has become an inevitable trend. Its main task is to rely on technical means to reduce the cost of the logistics transportation process and liberate human labor from the complicated sorting and transportation work. In an intelligent logistics system, multiple intelligent agents (mobile robots or unmanned vehicles, etc.) are usually running at the same time. When multiple intelligent agents run in parallel in the same dynamic environment, unreasonable scheduling will cause resource competition among intelligent agents. This resource competition phenomenon will cause deadlock conflicts among intelligent agents, which will further disrupt the smooth operation of the intelligent logistics system.
[0003] Deadlock conflicts between multiple agents are caused by resource competition between agents, such as two agents occupying a section of path resources at the same time. Therefore, how to establish a multi-agent scheduling system to accurately predict impending deadlocks and resolve predicted deadlocks so that it can reasonably schedule map resources in an uncertain dynamic environment has become a key scientific problem that urgently needs to be solved. Summary of the invention
[0004] In view of this, the purpose of this application is to at least provide a method and device for dynamic scheduling of intelligent entities based on deadlock prediction, which can accurately predict and resolve impending deadlock phenomena, thereby enabling reasonable scheduling of map resources in an uncertain dynamic environment and improving the stability of the smart logistics system.
[0005] This application mainly includes the following aspects:
[0006] In a first aspect, an embodiment of the present application provides a method for dynamic scheduling of intelligent agents based on deadlock prediction. In a possible implementation method, the method includes: obtaining multiple intelligent agents in an online state and a transportation task to be executed corresponding to each intelligent agent, the transportation task including a task start point and a task end point; for each intelligent agent, based on the Dijkstra algorithm, determining the shortest driving path without loops formed between the task start point and the task end point indicated by the transportation task to be executed corresponding to the intelligent agent, and determining the shortest driving path as the target driving path corresponding to the intelligent agent to execute the transportation task, the driving path including multiple adjacent nodes and multiple road sections formed by the adjacent nodes; determining whether a deadlock conflict will occur for each intelligent agent based on the occupied resources, resources to be applied for occupation and the target driving path corresponding to each intelligent agent, the occupied resources describe the path nodes and road sections occupied by the intelligent agent, and the resources to be applied for occupation describe the path nodes and road sections that the intelligent agent will apply to occupy; for the impending deadlock conflict, using a preset unlocking strategy to complete the unlocking of the deadlock conflict.
[0007] In one possible implementation, the shortest driving path corresponding to each intelligent agent is determined in the following manner: a set of prohibited node sections, a set of required node sections, and a topological map corresponding to the target operation scenario of the intelligent agent corresponding to the transportation task corresponding to the intelligent agent are obtained, the prohibited node section set includes prohibited path nodes and / or prohibited sections corresponding to the intelligent agent, the required node section set includes required path nodes and / or required sections corresponding to the intelligent agent, and the topological map includes multiple path nodes and multiple sections formed by connecting lines between adjacent path nodes; the prohibited path nodes and / or prohibited sections corresponding to the intelligent agent indicated by the prohibited node section set are filtered from the topological map; and the shortest driving path between the task starting point corresponding to the intelligent agent and the required path nodes and / or required sections and the task end point is solved in sections according to the Dijkstra algorithm.
[0008] In a possible implementation, whether each agent will have a deadlock conflict is determined in the following manner: based on the location information and target driving path corresponding to the agent, the occupied resources corresponding to the agent and the remaining driving path to reach the task end are determined; whether there is a first resource intersection between the remaining driving path corresponding to the agent and the occupied resources corresponding to other agents; if there is a first resource intersection between the remaining driving path corresponding to the agent and the occupied resources corresponding to other agents, it is determined that the agent meets the first deadlock feature, and the other agents that have the first resource intersection with the agent are defined as corresponding candidate running agents. Conflicting intelligent agents; determining whether there is a second resource intersection between the resource occupation application corresponding to the intelligent agent and the remaining driving path corresponding to the candidate running conflict intelligent agent; if there is a second resource intersection between the resource occupation application corresponding to the intelligent agent and the remaining driving path corresponding to the candidate running conflict intelligent agent, determining that the intelligent agent satisfies the second deadlock feature, and defining the candidate running conflict intelligent agent as the target running conflict intelligent agent; judging whether the deadlock feature is released when the intelligent agent and the target running conflict intelligent agent corresponding to the intelligent agent continue to travel according to the corresponding remaining driving path; if the deadlock feature is not released, determining that the intelligent agent is about to have a deadlock conflict.
[0009] In one possible implementation, the preset unlocking strategy includes: for each intelligent agent in the same deadlock conflict, performing the following processing: generating a path replanning strategy corresponding to the intelligent agent, the path replanning strategy is to replan the remaining driving path for the intelligent agent to reach the corresponding task end point; determining whether there is a candidate path replanning strategy that can unlock the deadlock conflict; if there is a candidate path replanning strategy, calculating the newly added path distance value between the replanned remaining driving path indicated by the candidate path replanning strategy and the remaining driving path before replanning; determining the candidate path replanning strategy corresponding to the minimum newly added path distance value as the target unlocking strategy corresponding to the deadlock conflict; running the target unlocking strategy to complete the unlocking of the deadlock conflict; if there is no candidate path replanning strategy, determining that the deadlock conflict has no solution.
[0010] In one possible implementation, before using a preset unlocking strategy to unlock the deadlock conflict corresponding to each agent, the method also includes: for each agent that is about to deadlock, performing the following processing: determining whether the agent can release the deadlock feature when waiting at the occupied node corresponding to the agent; if the agent releases the deadlock feature when waiting at the occupied node corresponding to the agent, then unlocking the corresponding deadlock time of the agent; if the agent cannot release the deadlock feature when waiting at the occupied node corresponding to the agent, then for each target running conflict agent corresponding to the agent, determining whether the target running conflict agent can release the deadlock feature when waiting at the corresponding occupied node, if the target running conflict agent releases the deadlock feature when waiting at the corresponding occupied node, then unlocking the corresponding deadlock time of the agent; for each target running conflict agent corresponding to the agent, if the target running conflict agent cannot release the deadlock feature when waiting at the corresponding occupied node, then executing the preset unlocking strategy.
[0011] In a possible implementation, the corresponding transport task is assigned to the agent in the following manner: a plurality of transport tasks to be assigned recorded in the task list is obtained, the transport tasks to be assigned include a task starting point, a task end point and a task priority; from the plurality of transport tasks to be assigned, a target transport task to be assigned with the highest task priority is determined; it is determined whether there is an idle first candidate agent among the plurality of agents; if there is an idle first candidate agent among the plurality of agents, it is determined from at least one of the first candidate agents whether there is a second candidate agent at the task starting point indicated by the target transport task to be assigned; if there is a second candidate agent, the target transport task to be assigned is directly assigned to the second candidate agent, and the target transport task to be assigned is marked as assigned for execution. Reacquire multiple tasks to be assigned until there are no more transport tasks to be assigned in the transport task list; if there is no second candidate agent, determine the driving path and path length of each first candidate agent to reach the task starting point indicated by the target transport task to be assigned; for each first candidate agent, perform weighted calculation on the congestion status and path length of the driving path corresponding to the first candidate agent according to a preset weight coefficient to obtain the task allocation index of the first candidate agent relative to the target transport task to be assigned; assign the target transport task to be assigned to the first candidate agent with the largest task allocation index, mark the target transport task to be assigned as assigned for execution, and reacquire multiple tasks to be assigned until there are no more transport tasks to be assigned in the transport task list.
[0012] In one possible implementation, the method also includes: if the first candidate intelligent agent does not exist among the multiple intelligent agents, waiting for a preset time period; determining whether the target to-be-assigned transport task is still in an unassigned state after the preset time period; if the target to-be-assigned transport task is still in an unassigned state after the preset time period, increasing the priority corresponding to the target to-be-assigned transport task, and reacquiring multiple to-be-assigned transport tasks until there are no to-be-assigned transport tasks in the transport task list.
[0013] In one possible implementation, the method also includes: using a preset collision detection strategy to determine whether a collision is about to occur between any two intelligent agents; if a collision is about to occur between any two intelligent agents, making one of the two intelligent agents wait at the corresponding occupied node until it is confirmed that there is no collision between the two intelligent agents, and resubmitting the resource application for the resources to be occupied by one of the intelligent agents; for each intelligent agent, determining whether the path nodes and / or road sections in the resources to be occupied corresponding to the intelligent agent are in a mutually exclusive zone; if the path nodes and / or road sections in the resources to be occupied corresponding to the intelligent agent are in a mutually exclusive zone, determining whether there are other intelligent agents in the target mutually exclusive zone where the intelligent agent is located; if there are other intelligent agents in the mutually exclusive zone, the intelligent agent waits at the corresponding occupied node until there are no other intelligent agents in the target mutually exclusive zone; if there are no other intelligent agents in the mutually exclusive zone, determining that the intelligent agent occupies the path nodes and road sections indicated by the corresponding resources to be occupied.
[0014] In one possible implementation, the method also includes: for each intelligent agent, performing the following processing: determining whether the resource occupation application corresponding to the intelligent agent is approved, the resource occupation application indicates the next road segment to be occupied by the intelligent agent and the end point of the next road segment; if the resource occupation application corresponding to the intelligent agent is approved, then issuing a control instruction to the intelligent agent to move toward the end point of the road segment corresponding to the next road segment; when the intelligent agent travels a specified distance on the next road segment, releasing the starting point of the road segment corresponding to the next road segment, the specified distance being the sum of the length of the intelligent agent, the safety margin and the positioning error; when the intelligent agent travels to the end point of the road segment of the next road segment, releasing the next road segment.
[0015] In one possible implementation, the method also includes: for each intelligent agent, performing the following processing: obtaining operating information reported by the intelligent agent, the operating information including the operating road condition, the current position of the intelligent agent and the current driving path; if the operating road condition indicates that the intelligent agent has encountered an obstacle or the driving path is congested, then based on the current position and current driving path corresponding to the intelligent agent, re-planning the driving path of the intelligent agent from the current position to the task end point and avoiding the road section where the obstacle is located or the congested section.
[0016] In one possible implementation, the topological map also includes multiple parking points, and the method also includes: for each intelligent agent, performing the following processing: determining that when the intelligent agent has completed the current transportation task and has no transportation tasks to be performed, generating a parking task for the intelligent agent and sending it to the intelligent agent, the parking task instructs the intelligent agent to go to the nearest available parking point, and the available parking point is an unused parking point.
[0017] In the second aspect, the embodiment of the present application also provides an intelligent agent dynamic scheduling device based on deadlock prediction, the device comprising: a task acquisition module, used to acquire multiple intelligent agents in an online state and the transportation tasks to be executed corresponding to each intelligent agent, the transportation tasks including a task start point and a task end point; a driving path determination module, used to determine, for each intelligent agent, based on the Dijkstra algorithm, the shortest driving path without loops formed between the task start point and the task end point indicated by the transportation task to be executed corresponding to the intelligent agent, and determine the shortest driving path as the target driving path corresponding to the intelligent agent to execute the transportation task, the driving path including multiple adjacent nodes and multiple road sections formed by the adjacent nodes; a deadlock conflict prediction module, used to determine whether each intelligent agent will have a deadlock conflict based on the occupied resources, resources to be applied for occupation and the target driving path corresponding to each intelligent agent, the occupied resources describe the path nodes and road sections occupied by the intelligent agent, and the resources to be applied for occupation describe the path nodes and road sections that the intelligent agent will apply to occupy; an unlocking module, used to unlock the deadlock conflict using a preset unlocking strategy for the impending deadlock conflict.
[0018] The embodiment of the present application provides a method and device for dynamic scheduling of intelligent agents based on deadlock prediction, including: for each intelligent agent, determining the target driving path without loops formed between the task starting point and the task end point indicated by the transportation task to be executed corresponding to the intelligent agent; determining whether each intelligent agent will have a deadlock conflict based on the occupied resources, resources to be applied for occupation and the target driving path corresponding to each intelligent agent, the occupied resources describe the path nodes and sections occupied by the intelligent agent, and the resources to be applied for occupation describe the path nodes and sections that the intelligent agent will apply for occupation; for the impending deadlock conflict, using a preset unlocking strategy to complete the unlocking of the deadlock conflict. The present application can reasonably schedule map resources in an uncertain dynamic environment and improve the stability of the smart logistics system by accurately predicting and resolving the impending deadlock phenomenon.
[0019] In order to make the above-mentioned objects, features and advantages of the present application more obvious and easy to understand, preferred embodiments are specifically cited below and described in detail with reference to the attached drawings. BRIEF DESCRIPTION OF THE DRAWINGS
[0020] In order to more clearly illustrate the technical solutions of the embodiments of the present application, the drawings required for use in the embodiments will be briefly introduced below. It should be understood that the following drawings only show certain embodiments of the present application and therefore should not be regarded as limiting the scope. For ordinary technicians in this field, other related drawings can be obtained based on these drawings without paying creative work.
[0021] Figure 1 A flowchart of a method for dynamic scheduling of an intelligent agent based on deadlock prediction provided in an embodiment of the present application is shown;
[0022] Figure 2 A flow chart of dynamic allocation of transport tasks provided by an embodiment of the present application is shown;
[0023] Figure 3 A flowchart showing the steps of deadlock conflict prediction provided by an embodiment of the present application is shown;
[0024] Figure 4 A schematic diagram of the position and resource occupancy of an intelligent agent provided in an embodiment of the present application is shown;
[0025] Figure 5 A functional module diagram of an intelligent agent dynamic scheduling device based on deadlock prediction provided by an embodiment of the present application is shown;
[0026] Figure 6 A schematic structural diagram of an electronic device provided in an embodiment of the present application is shown. DETAILED DESCRIPTION
[0027] To make the purpose, technical scheme and advantages of the embodiments of the present application clearer, the technical scheme in the embodiments of the present application will be clearly and completely described below in conjunction with the drawings in the embodiments of the present application. It should be understood that the drawings in the present application only serve the purpose of explanation and description and are not used to limit the scope of protection of the present application. In addition, it should be understood that the schematic drawings are not drawn in real proportion. The flowchart used in this application shows the operations implemented according to some embodiments of the present application. It should be understood that the operations of the flowchart can be implemented out of sequence, and the steps without logical context can be reversed in order or implemented simultaneously. In addition, those skilled in the art, under the guidance of the content of the present application, can add one or more other operations to the flowchart, or remove one or more operations from the flowchart.
[0028] In addition, the described embodiments are only a part of the embodiments of the present application, rather than all the embodiments. The components of the embodiments of the present application described and shown in the drawings here can be arranged and designed in various configurations. Therefore, the following detailed description of the embodiments of the present application provided in the drawings is not intended to limit the scope of the application claimed for protection, but merely represents the selected embodiments of the present application. Based on the embodiments of the present application, all other embodiments obtained by those skilled in the art without making creative work belong to the scope of protection of the present application.
[0029] In a smart logistics system, multiple intelligent agents (mobile robots or unmanned vehicles, etc.) usually run at the same time. How to ensure that multiple intelligent agents run in parallel without conflict and efficiently in an uncertain dynamic environment and avoid the occurrence of deadlock is one of the keys to ensuring the smooth operation of the smart logistics system.
[0030] Deadlock conflicts between multiple agents are caused by resource competition between agents, such as two agents occupying a section of path resources at the same time. Therefore, how to establish a multi-agent scheduling system to accurately predict impending deadlocks and resolve predicted deadlocks so that it can reasonably schedule map resources in an uncertain dynamic environment has become a key scientific problem that urgently needs to be solved.
[0031] At present, the existing technology mainly adopts two scheduling and planning schemes with different architectures, namely the centralized architecture and the distributed architecture. Among them, the distributed architecture is currently less used. Although it has stronger flexibility and scalability, it cannot achieve centralized control of the intelligent agent. Most of the widely used scheduling and planning methods currently adopt a centralized architecture, which has the advantages of easy control and easy to obtain the global optimal solution. However, the existing methods of scheduling and planning intelligent agents using a centralized architecture have poor flexibility and insufficient real-time performance. In addition, the uncertainty of the multi-agent system makes deadlock almost unavoidable and difficult to accurately predict, and cannot cope with uncertain dynamic environments. In particular, deadlock detection mainly uses time windows or methods based on graph theory principles. These algorithms are too complex and do not fully consider the uncertainties that may occur during operation. They cannot predict the occurrence of deadlock conflicts in advance, and have poor adaptability and robustness.
[0032] Based on this, the embodiment of the present application provides a method and device for dynamic scheduling of intelligent agents based on deadlock prediction, which can accurately predict and solve the impending deadlock phenomenon, thereby reasonably scheduling map resources in an uncertain dynamic environment and improving the stability of the intelligent logistics system, as follows:
[0033] See also Figure 1 , Figure 1 FIG. 1 is a flowchart of a method for dynamic scheduling of an intelligent agent based on deadlock prediction provided by an embodiment of the present application. Figure 1 As shown, the agent dynamic scheduling method based on deadlock prediction provided in the embodiment of the present application is applied to the agent scheduling system, and includes the following steps:
[0034] S100, obtaining multiple intelligent agents in an online state and a to-be-executed transportation task corresponding to each intelligent agent.
[0035] The transportation task includes the task starting point and the task end point.
[0036] S200. For each intelligent agent, based on the Dijkstra algorithm, determine the shortest driving path without loops between the task starting point and the task end point indicated by the transportation task to be performed corresponding to the intelligent agent, and determine the shortest driving path as the target driving path corresponding to the intelligent agent performing the transportation task.
[0037] The driving path includes a plurality of adjacent nodes and a plurality of road segments formed by the adjacent nodes.
[0038] S300: Determine whether a deadlock conflict will occur in each intelligent agent according to the occupied resources, resources to be applied for and target driving path corresponding to each intelligent agent.
[0039] The occupied resources describe the path nodes and sections that the agent has occupied, and the pending resources describe the path nodes and sections that the agent is about to apply to occupy.
[0040] S400: For an impending deadlock conflict, unlock the deadlock conflict using a preset unlocking strategy.
[0041] Specifically, the intelligent agent in the present application is an intelligent mobile robot or unmanned vehicle that performs transportation tasks. Usually, multiple intelligent agents are placed in a unified operating scene for collaborative transportation. For multiple intelligent agents in the target operating scene, after the intelligent agent goes online and connects to the intelligent agent scheduling system, it is necessary to regularly report its own position, operating status and other information to the intelligent agent scheduling system. The intelligent agent scheduling system can communicate with each intelligent agent in the target operating scene and send driving information to the intelligent agent.
[0042] In a preferred embodiment, before executing step S100, it is necessary to first model the target operation scenario in which the multiple intelligent agents are located to obtain a topological map of the target operation scenario. The topological map includes multiple path nodes and multiple road sections formed by connecting lines between adjacent path nodes. The obtained topological map needs to maintain the correct relative position relationship between the path nodes and the road sections. The intelligent agents travel along the road sections in the target operation scenario. The topological map is a directed graph composed of a vertex set and an edge set. The vertex set is the set of all path nodes, and the edge set is the set of all road sections. Several road sections are connected to form a driving path.
[0043] The topological map also includes parking points corresponding to each intelligent agent. Specifically, after creating the topological map, the online status of multiple intelligent agents in the target operation scenario is detected. After determining that the intelligent agent is online, parking points are set for the online intelligent agent so that the intelligent agent can park or charge when there is no transportation task.
[0044] Furthermore, the task dynamic allocation module is used to complete the dynamic addition of tasks, dynamic refreshing of task priorities and optimal allocation of tasks. Specifically, the task dynamic allocation module performs the following processing: based on the topological map, according to the actual transportation task requirements, the task starting point and task end point are determined or selected, the corresponding transportation task is generated, and the corresponding task priority is configured for the transportation task. The path nodes that the intelligent agent travels through to complete the transportation task are connected to form a driving path.
[0045] The intelligent agent scheduling system maintains a task list and an intelligent agent list. Each element in the task list corresponds to a transportation task. The transportation task includes attributes such as the task starting point, the task end point, the task status and the task priority. Among them, the task status indicates the stage of the transportation task. The stages of the transportation task include the waiting stage, the execution stage and the execution completion stage. Newly created or newly added transportation tasks will be added to the task list, and the task priority and task status corresponding to the transportation tasks in the task list will be refreshed regularly. Then, according to the priority order corresponding to the transportation task, the distance between the task starting point and each intelligent agent, and the road congestion, the tasks to be assigned are further assigned to the most suitable intelligent agent for execution (for example, weighted).
[0046] Each element in the agent list corresponds to an agent that performs a transportation task in the target operation scenario. The agent has attributes such as status and position. The agent can send an online message to the agent scheduling system at any location. After the agent scheduling system receives the online message of the agent, it adds the agent that sends the online message to the agent list. After that, the agent regularly reports its own position, status, detected obstacles, obstacle locations and other information to the agent scheduling system.
[0047] In steps S100 to S400, for each intelligent agent's corresponding transportation task to be executed, a path planning module is used to solve the shortest driving path without loops between the task end point and the task starting point indicated by the intelligent agent's transportation task to be executed, or the shortest driving path under certain restrictions (prohibiting or requiring passing through certain path nodes and sections). Then, a deadlock dynamic prediction module is used to predict the impending deadlock conflict in real time in an uncertain dynamic environment based on the resources occupied by each intelligent agent and the target driving path. The map resources are reasonably planned through the intelligent agent scheduling system to achieve efficient and conflict-free parallel operation of each intelligent agent. Compared with the existing traditional centralized architecture scheduling and planning methods, the intelligent agent dynamic scheduling method based on deadlock prediction provided in the present application is more flexible and reliable, suitable for maps of any structure, and has strong adaptability and robustness.
[0048] In a preferred embodiment, see Figure 2 , Figure 2 FIG. 1 shows a flow chart of a dynamic allocation of transport tasks provided by an embodiment of the present application. Figure 2 As shown, before step S100, the task dynamic allocation module allocates corresponding transportation tasks to the agent in the following manner:
[0049] SA1. Obtain multiple transportation tasks to be assigned recorded in the task list.
[0050] The transportation tasks to be assigned include the task starting point, task end point and task priority.
[0051] SA2. Determine the target transport task to be assigned with the highest task priority from multiple transport tasks to be assigned.
[0052] SA3. Determine whether there is a first candidate agent in an idle state among multiple agents.
[0053] If there is no first candidate intelligent agent in an idle state among the multiple intelligent agents, SA9 is executed and a preset time period is waited. If the target transport task to be assigned is still in an unassigned state after the preset time period, the priority corresponding to the target transport task to be assigned is increased, and step SA1 is returned to be executed until there is no transport task to be assigned in the transport task list.
[0054] SA4. If there is an idle first candidate agent among the multiple agents, determine from at least one of the first candidate agents whether there is a second candidate agent at the task starting point indicated by the target transportation task to be assigned.
[0055] SA5. If there is a second candidate agent, the target transportation task to be assigned is directly assigned to the second candidate agent, and the target transportation task to be assigned is marked as assigned for execution.
[0056] Return to execute SA1 until there are no transportation tasks to be assigned in the transportation task list.
[0057] SA6. If there is no second candidate agent, for each first candidate agent, determine the driving path and path length of the first candidate agent to reach the task starting point indicated by the target transportation task to be assigned.
[0058] SA7. For each first candidate intelligent agent, the congestion status and path length of the driving path corresponding to the first candidate intelligent agent are weighted according to a preset weight coefficient to obtain a task allocation index of the first candidate intelligent agent relative to the target transportation task to be allocated.
[0059] SA8. Assign the target transportation task to be assigned to the first candidate agent with the largest task assignment index, and mark the target transportation task to be assigned as assigned for execution.
[0060] Return to execute SA1 until there are no transportation tasks to be assigned in the transportation task list.
[0061] In step S200, the determination of the shortest driving path corresponding to each agent is performed by the path planning module. Specifically, the path planning module determines the shortest driving path corresponding to each agent in the following manner:
[0062] Obtain a forbidden node section set, a required node section set and a topological map corresponding to the target operation scenario of the intelligent agent corresponding to the transportation task corresponding to the intelligent agent, wherein the forbidden node section set includes forbidden path nodes and / or forbidden sections corresponding to the intelligent agent, the required node section set includes required path nodes and / or required sections corresponding to the intelligent agent, and the topological map includes multiple path nodes and multiple sections formed by connecting lines between adjacent path nodes. Filter the forbidden path nodes and / or forbidden sections corresponding to the intelligent agent indicated by the forbidden node section set from the topological map, and solve the shortest driving path between the task starting point corresponding to the intelligent agent and the required path nodes and / or required sections and the task end point in sections according to the Dijkstra algorithm.
[0063] In a specific embodiment, if the transportation task to be executed corresponding to the intelligent agent requires that certain nodes or road sections are prohibited from being passed, then when using the Dijkstra algorithm to traverse the path nodes, the path nodes and road sections that are prohibited from being passed need to be filtered out. If the operation task to be executed corresponding to the intelligent agent requires that certain path nodes or road sections must be passed, then based on the Dijkstra algorithm, the shortest driving path between the task starting point and the path nodes that must be passed and the task end point is solved in sections.
[0064] In a preferred embodiment, the present application predicts deadlock conflicts through a deadlock dynamic prediction module. Specifically, based on the resource occupation application of each intelligent agent, the path to be traveled, and the occupied resources (resources refer to the path nodes and sections in the topological map), it is determined whether there is a resource conflict, thereby predicting the deadlock conflict. Only by occupying the resources first can the intelligent agent own and be qualified to use the resources. For each resource, after the resource is occupied, other intelligent agents cannot own the resource until the intelligent agent releases the resource. The nodes and sections occupied by the intelligent agent, that is, the nodes and sections allocated to the intelligent agent by the intelligent agent scheduling system, are the routes that the intelligent agent must travel.
[0065] In another preferred embodiment, the present application triggers a deadlock conflict prediction after receiving a resource occupation application sent by each agent, wherein the resource occupation application indicates the next path node and road segment to be occupied by the agent, see Figure 3 , Figure 3 A flowchart of the steps of deadlock conflict prediction provided by an embodiment of the present application is shown. Figure 3 As shown, in step S300, whether a deadlock conflict will occur in each agent is determined by the following method:
[0066] S3001. Determine the occupied resources corresponding to the agent and the remaining driving path to reach the task destination based on the location information and target driving path corresponding to the agent.
[0067] S3002: Determine whether there is a first resource intersection between the remaining driving path corresponding to the agent and the occupied resources corresponding to other agents.
[0068] S3003. If there is a first resource intersection between the remaining driving path corresponding to the agent and the occupied resources corresponding to other agents, it is determined that the agent meets the first deadlock feature, and other agents that have the first resource intersection with the agent are defined as corresponding candidate running conflict agents.
[0069] If there is a first resource intersection between the remaining driving path corresponding to the agent and the occupied resources corresponding to other agents, it is determined that the agent does not meet the first deadlock feature, and it is determined that the agent does not deadlock, and step S3008 is executed to allow the agent to apply for the occupied resources corresponding to this time.
[0070] S3004: Determine whether there is a second resource intersection between the resource occupation application corresponding to the agent and the remaining driving path corresponding to the candidate running conflict agent.
[0071] If there is no second resource intersection between the resource occupation application corresponding to the agent and the remaining driving path corresponding to the candidate conflicting agent, it is determined that the agent does not meet the second deadlock feature, and it is determined that the agent does not deadlock, and step S3008 is executed to allow the agent's corresponding resource occupation application this time.
[0072] S3005. If there is a second resource intersection between the resources to be applied for and occupied corresponding to the agent and the remaining driving path corresponding to the candidate operation conflict agent, it is determined that the agent meets the second deadlock feature, and the candidate operation conflict agent is defined as the target operation conflict agent.
[0073] S3006: Determine whether the deadlock feature is released when the intelligent agent and the target running conflict intelligent agent corresponding to the intelligent agent continue to drive along the corresponding remaining driving path.
[0074] S3007. If the deadlock feature is not resolved, it is determined that the agent is about to have a deadlock conflict.
[0075] If the deadlock feature is released, execute step S3008 to allow the agent to apply for the corresponding occupied resources.
[0076] In one specific embodiment, see Figure 4 , Figure 4 FIG. 1 shows a schematic diagram of the position and resource occupancy of an intelligent agent provided in an embodiment of the present application. Figure 4As shown, 1~n9 are path nodes in the topological map, e1~e9 are road sections in the topological map, e1~e9 are all bidirectional sections, the driving path of agent Agent-a is n9->n6->n2->n3->n4->n5, at this time, agent Agent-a is on the road section e9 between path node n9 and path node n6, the occupied resources are path node n6 and road section e9, and the resources to be occupied are path node n2 and road section e5, the driving path of agent Agent-b is n5->n4->n3->n2->n1, at this time, agent Agent-b is on the road section e3 between path node n4 and path node n3, the occupied resources are path node n3 and road section e3, and the resources to be occupied are path node n2 and road section e2.
[0077] According to steps S3001 to S3008, the remaining driving path of agent Agent-a is n6->n2->n3->n4->n5, which has an intersection {n3,e3} with the resources n3 and e3 occupied by agent Agent-b. The remaining driving path of agent Agent-b is n3->n2->n1, which has an intersection {n2} with the resources n2 and e5 that agent Agent-a is about to apply to occupy. If agents Agent-a and Agent-b continue to travel along the original path, the deadlock feature cannot be resolved. It is determined that if agent Agent-a occupies the path node n2, then agents Agent-a and Agent-b are about to have a deadlock conflict.
[0078] In the present application, the present application unlocks all impending deadlock conflicts obtained by the deadlock dynamic prediction module through the collaborative collision avoidance module. In step S400, the preset unlocking strategy includes:
[0079] For each intelligent agent in the same deadlock conflict, the following processing is performed: a path replanning strategy corresponding to the intelligent agent is generated, the path replanning strategy is to replan the remaining driving path for the intelligent agent to reach the corresponding task end point, and it is determined whether there is a candidate path replanning strategy that can unlock the deadlock conflict. If a candidate path replanning strategy exists, the newly added path distance value between the replanned remaining driving path indicated by the candidate path replanning strategy and the remaining driving path before replanning is calculated, and the candidate path replanning strategy corresponding to the minimum newly added path distance value is determined as the target unlocking strategy corresponding to the deadlock conflict. The target unlocking strategy is run to complete the unlocking of the deadlock conflict. If there is no candidate path replanning strategy, it is determined that the deadlock conflict has no solution.
[0080] In another preferred embodiment, before step S400, the method further includes:
[0081] For each intelligent agent that is about to deadlock, the following processing is performed: determine whether the intelligent agent can release the deadlock feature when waiting for the occupied node corresponding to the intelligent agent; if the intelligent agent can release the deadlock feature when waiting for the occupied node corresponding to the intelligent agent, then complete the unlocking of the corresponding deadlock time of the intelligent agent; if the intelligent agent cannot release the deadlock feature when waiting for the occupied node corresponding to the intelligent agent, then for each target corresponding to the intelligent agent, run a conflicting intelligent agent to determine whether the target running the conflicting intelligent agent can release the deadlock feature when waiting for the corresponding occupied node; if the target running the conflicting intelligent agent can release the deadlock feature when waiting for the corresponding occupied node, then complete the unlocking of the corresponding deadlock time of the intelligent agent; for each target corresponding to the intelligent agent, run a conflicting intelligent agent to determine whether the target running the conflicting intelligent agent can release the deadlock feature when waiting for the corresponding occupied node; if the target running the conflicting intelligent agent can release the deadlock feature when waiting for the corresponding occupied node, then complete the unlocking of the corresponding deadlock time of the intelligent agent; if the target running the conflicting intelligent agent cannot release the deadlock feature when waiting for the corresponding occupied node, then execute the preset unlocking strategy.
[0082] Specifically, in the present application, if among multiple intelligent agents in the same deadlock loop, there is one or some intelligent agents waiting at the current path node, the deadlock conflict can be unlocked by temporarily postponing the application for occupying the resources with intersection, then the intelligent agent is directly ordered to wait at the corresponding current path node, and when there is no resource conflict for the resources to be occupied by each intelligent agent, it reapplies for occupying the resources, if one or some intelligent agents cannot unlock the deadlock conflict by waiting at the current path node, then the path is re-planned for the intelligent agent in the deadlock loop, and the corresponding unlocking is performed according to the increased driving distance value after the different intelligent agents re-plan the path.
[0083] In a specific embodiment, Figure 4 Taking the case shown in the figure as an example, the driving path, position and occupied resources of the agent Agent-a remain unchanged, and the resources to be applied for are node n2 and section e5. The driving path of the agent Agent-b is n5->n4->n3->n2->n6->n9, and the position and occupied resources remain unchanged. The resources to be applied for are node n2 and section e2. According to step S300, it is determined that the agents Agent-a and Agent-b are about to have a deadlock conflict, and the agents Agent-a or Agent-b are at the current path nodes, etc. If none of them can be unlocked, the agent scheduling system generates two path replanning strategies, namely path replanning strategy Q1: agent Agent-a keeps the path unchanged, and agent Agent-b replans the path to its task end point n9, that is, the new path is n3->n4->n8->n7->n6->n9, and path replanning strategy Q2: agent Agent-b keeps the path unchanged, and agent Agent-a replans the path to its task end point n5, that is, the new path is n6->n7->n8->n4->n5.
[0084] The newly added driving distance of the path replanning strategy Q1 is in is the length of road segment e3, and the newly added travel distance of path replanning strategy Q2 is 0, because Therefore, the path replanning strategy Q2 is selected for unlocking.
[0085] In a preferred embodiment, the agent scheduling system provided by the present application further includes a collaborative collision avoidance module, which is further used to:
[0086] A preset collision detection strategy is used to determine whether a collision is about to occur between any two intelligent agents. If a collision is about to occur between any two intelligent agents, one of the two intelligent agents is made to wait at the corresponding occupied node until it is confirmed that there is no collision between the two intelligent agents, and the resource application for the pending occupied resources of one of the intelligent agents is resubmitted. For each intelligent agent, it is determined whether the path nodes and / or road sections in the pending occupied resources corresponding to the intelligent agent are in a mutually exclusive area. If the path nodes and / or road sections in the pending occupied resources corresponding to the intelligent agent are in a mutually exclusive area, it is determined whether there are other intelligent agents in the target mutually exclusive area where the intelligent agent is located. If there are other intelligent agents in the mutually exclusive area, the intelligent agent waits at the corresponding occupied node until there are no other intelligent agents in the target mutually exclusive area. If there are no other intelligent agents in the mutually exclusive area, it is determined that the intelligent agent occupies the path nodes and road sections indicated by the corresponding pending occupied resources.
[0087] In a specific embodiment, the preset collision detection strategy is: determine a rectangular bounding box formed by the length, width, driving direction angle, safety margin and positioning error of the intelligent agent, and determine whether any two rectangular bounding boxes intersect. If there is an intersection, it is determined that the two intelligent agents are about to collide. If there is a relatively narrow special area in the target operation scene of the intelligent agent, and the special area can only allow one intelligent agent to run, then these areas can be set as mutually exclusive areas, and at most only one intelligent agent can run in the mutually exclusive area, so as to avoid collisions in special areas.
[0088] In a preferred embodiment, the method further comprises:
[0089] For each intelligent agent, the following processing is performed: determine whether the resource occupation application corresponding to the intelligent agent is passed, the resource occupation application indicates the next road segment to be occupied by the intelligent agent and the end point of the next road segment; if the resource occupation application corresponding to the intelligent agent is passed, a control instruction to travel to the end point of the road segment corresponding to the next road segment is issued to the intelligent agent, and a response prompt fed back by the intelligent agent to the control instruction is received, the response prompt instructs the intelligent agent to travel the road segment indicated by the resource occupation application as the current road segment; when the intelligent agent travels a specified distance on the current road segment, the starting point of the road segment corresponding to the current road segment is released, and the specified distance is the sum of the length of the intelligent agent, the safety margin and the positioning error; when the intelligent agent travels to the end point of the current road segment, it is determined that the travel task corresponding to the current road segment is completed, the current road segment occupied by the intelligent agent is released, and the resource occupation application initiated by the intelligent agent continues to be received and the execution step S300 is returned.
[0090] In a preferred embodiment, the agent scheduling system provided by the present application further includes a path re-planning module, and the method executed by the path re-planning module includes: for each agent, performing the following processing:
[0091] The operation information reported by the agent is obtained, and the operation information includes the operating road conditions, the current position of the agent, and the current driving path. If the operating road conditions indicate that the agent has encountered an obstacle or the driving path is congested, the driving path of the agent is replanned from the current position to the task end point and avoiding the road sections with obstacles or congested sections according to the current position and current driving path corresponding to the agent.
[0092] Specifically, in the process of multi-agent collaborative scheduling and planning, when an agent encounters an obstacle or road congestion, the agent's driving path is replanned from its current position to the task end point and avoids obstacles or congested sections based on the location information reported by the agent to the scheduling system and the agent's driving path.
[0093] In another preferred embodiment, the intelligent agent scheduling system provided by the present application further includes a parking task automatic generation module, and the method executed by the parking task automatic generation module includes:
[0094] For each intelligent agent, the following processing is performed: when it is determined that the intelligent agent has completed the current transportation task and has no transportation tasks to be performed, a parking task for the intelligent agent is generated and issued to the intelligent agent, and the parking task instructs the intelligent agent to go to the nearest available parking spot, which is an unused parking spot.
[0095] When the agent completes the current task and has no tasks to be performed, it automatically generates a parking task to the nearest available parking spot. When the agent is performing a parking task, if a new transportation task is assigned to the agent, the current parking task is automatically canceled and the new transportation task is started.
[0096] Based on the same application concept, the embodiment of the present application also provides an intelligent agent dynamic scheduling device based on deadlock prediction corresponding to the intelligent agent dynamic scheduling method based on deadlock prediction provided in the above embodiment. Since the principle of solving the problem by the device in the embodiment of the present application is similar to the intelligent agent dynamic scheduling method based on deadlock prediction in the above embodiment of the present application, the implementation of the device can refer to the implementation of the method, and the repeated parts will not be repeated.
[0097] See also Figure 5 , Figure 5 FIG. 1 shows a functional module diagram of a deadlock prediction-based intelligent agent dynamic scheduling device provided by an embodiment of the present application. Figure 5 As shown, the device comprises:
[0098] The task acquisition module 500 is used to acquire multiple intelligent agents in an online state and a transportation task to be executed corresponding to each intelligent agent. The transportation task includes a task start point and a task end point.
[0099] The driving path determination module 510 is used to determine, for each intelligent agent, based on the Dijkstra algorithm, the shortest driving path without loops formed between the task starting point and the task end point indicated by the transportation task to be performed by the intelligent agent, and determine the shortest driving path as the target driving path corresponding to the intelligent agent performing the transportation task. The driving path includes multiple adjacent nodes and multiple road sections formed by the adjacent nodes.
[0100] The deadlock conflict prediction module 520 is used to determine whether each intelligent agent will have a deadlock conflict based on the occupied resources, resources to be occupied and target driving path corresponding to each intelligent agent. The occupied resources describe the path nodes and sections occupied by the intelligent agent, and the resources to be occupied describe the path nodes and sections that the intelligent agent will apply to occupy.
[0101] The unlocking module 530 is used to unlock the impending deadlock conflict by using a preset unlocking strategy.
[0102] Based on the same application idea, please refer to Figure 6 , Figure 6 FIG. 1 shows a schematic diagram of the structure of an electronic device provided in an embodiment of the present application. Figure 6 As shown, the electronic device 600 includes: a processor 610, a memory 620 and a bus 630. The memory 620 stores machine-readable instructions executable by the processor 610. When the electronic device 600 is running, the processor 610 and the memory 620 communicate through the bus 630. The machine-readable instructions are executed by the processor 610 when it is running, such as the steps of the deadlock prediction-based intelligent agent dynamic scheduling method provided in any of the above embodiments.
[0103] Based on the same application concept, an embodiment of the present application also provides a computer-readable storage medium, on which a computer program is stored. When the computer program is executed by a processor, the steps of the agent dynamic scheduling method based on deadlock prediction provided in the above embodiment are executed.
[0104] Those skilled in the art can clearly understand that, for the convenience and simplicity of description, the specific working process of the system and device described above can refer to the corresponding process in the aforementioned method embodiment, and will not be repeated here. In the several embodiments provided in the present application, it should be understood that the disclosed system, device and method can be implemented in other ways. The device embodiments described above are merely schematic. For example, the division of the units is only a logical function division. There may be other division methods in actual implementation. For example, multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some communication interfaces, indirect coupling or communication connection of devices or units, which can be electrical, mechanical or other forms.
[0105] The units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.
[0106] In addition, each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit.
[0107] If the function is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a non-volatile computer-readable storage medium that is executable by a processor. Based on this understanding, the technical solution of the present application, or the part that contributes to the prior art or the part of the technical solution, can be embodied in the form of a software product, and the computer software product is stored in a storage medium, including a number of instructions to enable a computer device (which can be a personal computer, a server, or a network device, etc.) to perform all or part of the steps of the method described in each embodiment of the present application. The aforementioned storage medium includes: U disk, mobile hard disk, read-only memory (ROM), random access memory (RAM), disk or optical disk, etc., various media that can store program codes.
[0108] The above are only specific implementations of the present application, but the protection scope of the present application is not limited thereto. Any technician familiar with the technical field can easily think of changes or substitutions within the technical scope disclosed in the present application, which should be included in the protection scope of the present application. Therefore, the protection scope of the present application should be based on the protection scope of the claims.
Claims
1. A method for dynamic scheduling of intelligent agents based on deadlock prediction, characterized in that: The method comprises: Obtain multiple agents in the online state and the transportation tasks to be executed corresponding to each agent. The transportation tasks include the task starting point and the task end point. For each agent, based on the Dijkstra algorithm, determine the shortest driving path without loops between the task starting point and the task end point indicated by the transportation task to be performed by the agent, and determine the shortest driving path as the target driving path corresponding to the transportation task performed by the agent, the driving path includes multiple adjacent nodes and multiple road sections formed by the adjacent nodes; Determine whether a deadlock conflict will occur for each agent according to the occupied resources, resources to be occupied and target driving path corresponding to each agent, wherein the occupied resources describe the path nodes and sections occupied by the agent, and the resources to be occupied describe the path nodes and sections to be occupied by the agent; For the impending deadlock conflict, a preset unlocking strategy is used to complete unlocking of the deadlock conflict.
2. The method according to claim 1, characterized in that The shortest driving path for each agent is determined by: Obtain a prohibited node section set, a required node section set and a topological map corresponding to a target operation scenario of the agent corresponding to a transportation task corresponding to the agent, wherein the prohibited node section set includes prohibited path nodes and / or prohibited sections corresponding to the agent, the required node section set includes required path nodes and / or required sections corresponding to the agent, and the topological map includes multiple path nodes and multiple sections formed by lines between adjacent path nodes; Filtering the prohibited path nodes and / or prohibited road sections corresponding to the intelligent agent indicated by the prohibited node road section set from the topological map; The Dijkstra algorithm is used to solve the shortest driving path between the task starting point and the necessary path nodes and / or necessary road sections and the task end point corresponding to the agent in sections.
3. The method according to claim 1, characterized in that: Determine whether each agent will encounter a deadlock conflict by: According to the location information and target driving path corresponding to the agent, the occupied resources corresponding to the agent and the remaining driving path to reach the task destination are determined; respectively determining whether there is a first resource intersection between the remaining driving path corresponding to the agent and the occupied resources corresponding to other agents; If there is a first resource intersection between the remaining driving path corresponding to the agent and the occupied resources corresponding to other agents, it is determined that the agent meets the first deadlock feature, and the other agents that have the first resource intersection with the agent are defined as corresponding candidate running conflict agents; Determine whether there is a second resource intersection between the resource occupation application corresponding to the agent and the remaining driving path corresponding to the candidate running conflict agent; If there is a second resource intersection between the resource occupation application corresponding to the agent and the remaining driving path corresponding to the candidate running conflict agent, it is determined that the agent meets the second deadlock feature, and the candidate running conflict agent is defined as the target running conflict agent; Determine whether the deadlock feature is released when the agent and the target running conflict agent corresponding to the agent continue to drive according to the corresponding remaining driving path; If the deadlock characteristics are not resolved, it is determined that the agent is about to have a deadlock conflict.
4. The method according to claim 3, characterized in that The preset unlocking strategy includes: For each agent in the same deadlock conflict, perform the following processing: Generate a path replanning strategy corresponding to the agent, wherein the path replanning strategy is to replan the remaining driving path of the agent to reach the corresponding task end point; Determining whether there is a candidate path replanning strategy that can unlock the deadlock conflict; If there is a candidate path replanning strategy, calculate the newly added path distance value between the replanned remaining driving path indicated by the candidate path replanning strategy and the remaining driving path before replanning; The candidate path replanning strategy corresponding to the minimum newly added path distance value is determined as the target unlocking strategy corresponding to the deadlock conflict; Running the target unlocking strategy to complete unlocking of the deadlock conflict; If there is no candidate path replanning strategy, it is determined that the deadlock conflict has no solution.
5. The method according to claim 3, characterized in that: Before unlocking the deadlock conflict corresponding to each intelligent agent using the preset unlocking strategy, the method further includes: For each agent that is about to deadlock, perform the following processing: Determine whether the agent can resolve the deadlock feature while waiting on the occupied node corresponding to the agent; If the agent releases the deadlock feature while waiting at the occupied node corresponding to the agent, the deadlock time corresponding to the agent is unlocked; If the agent cannot release the deadlock feature when waiting at the occupied node corresponding to the agent, then for each target running conflict agent corresponding to the agent, determine whether the target running conflict agent can release the deadlock feature when waiting at the corresponding occupied node. If the target running conflict agent releases the deadlock feature when waiting at the corresponding occupied node, then the deadlock time corresponding to the agent is unlocked; A conflict agent is run for each target corresponding to the agent. If the target conflict agent cannot release the deadlock feature while waiting on the corresponding occupied node, a preset unlocking strategy is executed.
6. The method according to claim 1, characterized in that Assign the corresponding transportation tasks to the agents in the following ways: Acquire multiple transportation tasks to be assigned recorded in the task list, wherein the transportation tasks to be assigned include a task start point, a task end point, and a task priority; Determine, from the plurality of transport tasks to be assigned, a target transport task to be assigned having the highest task priority; Determine whether there is an idle first candidate intelligent agent among the plurality of intelligent agents, and if there is an idle first candidate intelligent agent among the plurality of intelligent agents, determine whether there is a second candidate intelligent agent at the task starting point indicated by the target transportation task to be assigned from at least one of the first candidate intelligent agents; If there is a second candidate agent, the target to-be-allocated transport task is directly allocated to the second candidate agent, and the target to-be-allocated transport task is marked as allocated for execution, and multiple to-be-allocated tasks are reacquired until there is no to-be-allocated transport task in the transport task list; If there is no second candidate agent, then for each first candidate agent, determine the driving path and path length of the first candidate agent to reach the task starting point indicated by the target transportation task to be assigned; For each first candidate agent, the congestion state and the path length of the driving path corresponding to the first candidate agent are weighted according to a preset weight coefficient to obtain a task allocation index of the first candidate agent relative to the target transportation task to be allocated; The target to-be-allocated transport task is allocated to the first candidate agent with the largest task allocation index, and the target to-be-allocated transport task is marked as allocated for execution, and multiple to-be-allocated tasks are reacquired until there is no to-be-allocated transport task in the transport task list.
7. The method according to claim 6, characterized in that The method further comprises: If the first candidate agent does not exist among the multiple agents, waiting for a preset time period; Determine whether the target to-be-allocated transport task is still in an unallocated state after a preset time period; If the target to-be-allocated transport task is still in an unallocated state after the preset time period, the priority corresponding to the target to-be-allocated transport task is increased, and multiple to-be-allocated transport tasks are reacquired until there is no to-be-allocated transport task in the transport task list.
8. The method according to claim 1, characterized in that The method further comprises: Use the preset collision detection strategy to determine whether any two agents are about to collide; If a collision is about to occur between any two agents, one of the two agents is made to wait at the corresponding occupied node until it is confirmed that there is no collision between the two agents, and then a resource application for the pending occupied resources of the one of the agents is resubmitted; For each intelligent agent, determine whether the path nodes and / or road sections in the resources to be applied for occupation corresponding to the intelligent agent are in a mutually exclusive area; If the path nodes and / or road sections in the resources to be applied for occupation corresponding to the agent are in a mutually exclusive area, determining whether there are other agents in the target mutually exclusive area where the agent is located; If there are other agents in the mutually exclusive zone, the agent waits at the corresponding occupied node until there are no other agents in the target mutually exclusive zone; If there is no other agent in the mutually exclusive area, it is determined that the agent occupies the path node and road section indicated by the corresponding resource to be applied for occupation.
9. The method according to claim 1, characterized in that: The method further comprises: For each agent, perform the following processing: Determine whether to approve the resource occupation application corresponding to the agent, the resource occupation application indicating the next road segment to be occupied by the agent and the end point of the next road segment; If the resource occupation application corresponding to the agent is approved, a control instruction is issued to the agent to proceed to the end point of the next road segment; When the agent travels over a specified distance on the next road segment, the starting point of the road segment corresponding to the next road segment is released, wherein the specified distance is the sum of the agent length, the safety margin and the positioning error; When the agent reaches the end of the next road segment, the next road segment is released.
10. The method according to claim 1, characterized in that The method further comprises: For each agent, perform the following processing: Obtaining the operating information reported by the agent, wherein the operating information includes the operating road condition, the current location of the agent, and the current driving path; If the operating road condition indicates that the agent encounters an obstacle or the driving path is congested, the driving path of the agent from the current position to the task end point and avoiding the road section where the obstacle is located or the congested road section is replanned according to the current position and current driving path corresponding to the agent.
11. The method according to claim 2, characterized in that The topological map also includes a plurality of parking spots, and the method further includes: For each intelligent agent, the following processing is performed: when it is determined that the intelligent agent has completed the current transportation task and has no transportation tasks to be performed, a parking task for the intelligent agent is generated and issued to the intelligent agent, and the parking task instructs the intelligent agent to go to the nearest available parking spot, which is an unused parking spot.
12. An intelligent agent dynamic scheduling device based on deadlock prediction, characterized in that: The device comprises: The task acquisition module is used to obtain multiple intelligent agents in the online state and the transportation tasks to be executed corresponding to each intelligent agent. The transportation tasks include the task starting point and the task end point. A driving path determination module is used to determine, for each intelligent agent, based on the Dijkstra algorithm, the shortest driving path without loops formed between the task starting point and the task end point indicated by the transportation task to be performed by the intelligent agent, and determine the shortest driving path as the target driving path corresponding to the intelligent agent performing the transportation task, and the driving path includes multiple adjacent nodes and multiple road sections formed by the adjacent nodes; A deadlock conflict prediction module is used to determine whether a deadlock conflict will occur for each agent based on the occupied resources, resources to be occupied, and target driving path corresponding to each agent, wherein the occupied resources describe the path nodes and sections occupied by the agent, and the resources to be occupied describe the path nodes and sections to be occupied by the agent; The unlocking module is used to unlock the impending deadlock conflict by using a preset unlocking strategy.
Citation Information
Cited By
Asynchronous conservative time management method and device based on adaptive task unlocking
CN119537039A
Asynchronous conservative time management method and device based on adaptive task unlocking
CN119537039B
Multi-agent conflict coordination method and device, equipment and medium
CN120579575A
Multi-agent conflict coordination method and device, equipment and medium
CN120579575B
