Intelligent agent scheduling methods, apparatus, computer-readable media and electronic devices

By acquiring map and agent specification data, determining conflict and path reference data, grouping and scheduling agents, and using the improved A* algorithm for path planning, the problem of poor real-time scheduling of agents is solved, and scheduling efficiency and scientificity are improved.

CN116048092BActive Publication Date: 2026-04-03SHANGHAI WANCHO TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-02-14
Publication Date
2026-04-03

AI Technical Summary

Technical Problem

In agent scheduling scenarios, the mixed scheduling of multiple agents needs to consider factors such as the shape, size, and running speed of different agents, resulting in a large scheduling problem scale, long computation time, and poor real-time performance of agent scheduling.

Method used

By acquiring map data and agent specification data, agent conflict data and path reference data are determined, preprocessed, and spatial conflicts and shortest paths are recorded when agents move in the scheduling area. Agents are then grouped and scheduled, and path planning is performed using an improved A* algorithm with priority-based path selection.

Benefits of technology

It improves the response speed and efficiency of intelligent agent scheduling, reduces human intervention, enhances the scientific nature and stability of scheduling, reduces the amount of computation, and improves scenario compatibility.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116048092B_ABST
    Figure CN116048092B_ABST
Patent Text Reader

Abstract

This application provides an agent scheduling method, apparatus, computer-readable medium, and electronic device. The method includes: acquiring map data and agent specification data, the map data including a directed graph matching a scheduling area; determining agent conflict data based on the map data and the specification data to record whether any two agents have spatial conflicts at the same time while moving in the scheduling area; determining path reference data based on the map data and the specification data to record the shortest path between any two nodes in the directed graph; and scheduling each agent to perform a transport task in the scheduling area based on the map data, the agent conflict data, and the path reference data. The technical solution of this application embodiment can improve the response speed of agent scheduling.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the fields of computer and intelligent handling technology, and more specifically, to an intelligent agent scheduling method, apparatus, computer-readable medium, and electronic device. Background Technology

[0002] In agent scheduling scenarios, such as AGV scheduling in vehicles or AMR robots, the optimization goal is usually global efficiency. This typically includes task assignment, path planning, and scheduling. Tasks are rationally assigned to agents, considering time and space, planning conflict-free paths for all agents, and issuing commands such as start, stop, and turn to each agent to complete the task. However, the mixed scheduling of multiple agents requires consideration of factors such as the shape, size, and speed of different agents, resulting in a large-scale scheduling problem and long computation time, leading to poor real-time performance in agent scheduling. Therefore, improving the response speed of agent scheduling is a pressing technical problem that needs to be solved. Summary of the Invention

[0003] Embodiments of this application provide an agent scheduling method, apparatus, computer program product or computer program, computer-readable medium and electronic device, which can at least improve the response speed of agent scheduling to a certain extent.

[0004] Other features and advantages of this application will become apparent from the following detailed description, or may be learned in part from practice of this application.

[0005] According to one aspect of the embodiments of this application, an agent scheduling method is provided. The method includes: acquiring map data and acquiring agent specification data, wherein the map data includes a directed graph matching a scheduling area, the directed graph having multiple nodes and multiple edges, wherein any edge connects two nodes; determining agent conflict data based on the map data and the specification data, the agent conflict data being used to record whether any two agents have a spatial conflict at the same time when moving in the scheduling area; determining path reference data based on the map data and the specification data, the path reference data being used to record the shortest path between any two nodes of the agent in the directed graph; acquiring transport tasks assigned to at least one agent, and scheduling each agent to perform transport tasks in the scheduling area based on the map data, the agent conflict data, and the path reference data.

[0006] In some embodiments of this application, based on the foregoing scheme, scheduling each agent to perform a transport task in the scheduling area based on the map data, the agent conflict data, and the path reference data includes: performing path planning for each agent according to the transport task based on the map data, the agent conflict data, and the path reference data to obtain at least one path information; and scheduling each agent to perform the transport task in the scheduling area according to the path information.

[0007] In some embodiments of this application, based on the foregoing scheme, the step of performing path planning for each agent according to the transport task based on the map data, the agent conflict data, and the path reference data to obtain at least one path information includes: determining the start node and end node of each agent executing the corresponding transport task in the directed graph based on the map data; determining the shortest path for each agent to execute the corresponding transport task in the directed graph based on the path reference data and the start node and end node corresponding to each agent; grouping each agent according to the shortest path based on the agent conflict data to obtain multiple agent groups, wherein any agent in any agent group and any agent in other agent groups do not have spatial conflicts at the same time when moving in the scheduling area according to the shortest path; and performing path planning for each agent in the target agent group to obtain at least one path information, wherein the target agent group is any one of the multiple agent groups.

[0008] In some embodiments of this application, based on the foregoing scheme, the step of performing path planning for each agent in the target agent group to obtain at least one path information includes: obtaining the priority of the transportation task corresponding to each agent in the target agent group, and selecting a target transportation task from the transportation tasks corresponding to each agent in the target agent group in sequence according to the planning order defined by the priority; and performing path planning for the agent corresponding to the target transportation task based on the map data to obtain at least one path information.

[0009] In some embodiments of this application, based on the foregoing scheme, the step of performing path planning for the agent corresponding to the target transport task based on the map data includes: obtaining paths already planned for other agents as historical paths; determining candidate paths based on the map data, wherein the candidate paths do not conflict with the historical paths in time and space; and selecting a target path for the agent corresponding to the target transport task from the candidate paths.

[0010] In some embodiments of this application, based on the foregoing scheme, selecting a target path for the agent corresponding to the target transport task from the candidate paths includes: calculating the path cost of the agent on the candidate path according to the edge length and edge weight coefficient of each connecting edge on the candidate path, wherein the path cost is used to characterize the cost incurred by the agent in performing the transport task on the candidate path; and selecting the candidate path with the lowest path cost as the target path for the agent to perform the target transport task.

[0011] In some embodiments of this application, based on the foregoing scheme, selecting a target path from the candidate paths for the agent corresponding to the target transport task includes: calculating the path cost of the agent on the candidate path based on the edge length and edge weight coefficient of each connecting edge on the candidate path, wherein the path cost is used to characterize the cost incurred by the agent in performing the transport task on the candidate path; obtaining the time cost of the agent on the candidate path; calculating the comprehensive cost of the agent on the candidate path based on the path cost and the time cost; and selecting the candidate path with the lowest comprehensive cost as the target path for the agent to perform the target transport task.

[0012] According to one aspect of the embodiments of this application, an intelligent agent scheduling device is provided. The device includes: a first acquisition unit, configured to acquire map data and acquire specification data of intelligent agents, the map data including a directed graph matching a scheduling area, the directed graph having multiple nodes and multiple edges distributed thereon, wherein any edge connects two nodes; a first determination unit, configured to determine intelligent agent conflict data based on the map data and the specification data, the intelligent agent conflict data being used to record whether any two intelligent agents have a spatial conflict at the same time when moving in the scheduling area; a second determination unit, configured to determine path reference data based on the map data and the specification data, the path reference data being used to record the shortest path between any two nodes of the intelligent agent in the directed graph; and a second acquisition unit, configured to acquire transport tasks assigned to at least one intelligent agent, and schedule each intelligent agent to perform transport tasks in the scheduling area based on the map data, the intelligent agent conflict data, and the path reference data.

[0013] According to one aspect of the embodiments of this application, a computer program product or computer program is provided, which includes computer instructions stored in a computer-readable storage medium. A processor of a computer device reads the computer instructions from the computer-readable storage medium and executes the computer instructions, causing the computer device to perform the methods described in the above embodiments.

[0014] According to one aspect of the embodiments of this application, a computer-readable medium is provided having a computer program stored thereon, which, when executed by a processor, implements the method described in the above embodiments.

[0015] According to one aspect of the embodiments of this application, an electronic device is provided, including: one or more processors; and a storage device for storing one or more programs, which, when executed by the one or more processors, cause the one or more processors to perform the method described in the above embodiments.

[0016] In some embodiments of this application, before scheduling each agent to perform a transport task in the scheduling area, relevant scheduling data is preprocessed to determine map data, agent conflict data, and path reference data. The preprocessed data is then stored in advance. Based on the map data, agent conflict data, and path reference data, each agent is scheduled to perform a transport task in the scheduling area. This can improve the response speed of agent scheduling in transport scenarios, especially in scenarios with a large number and variety of agents. This improves the efficiency and scientific nature of agents performing transport tasks, reduces human intervention, enhances scenario compatibility and practicality, and provides high-quality and high-stability scheduling decisions.

[0017] It should be understood that the above general description and the following detailed description are exemplary and explanatory only, and do not limit this application. Attached Figure Description

[0018] The accompanying drawings, which are incorporated in and form part of this specification, illustrate embodiments consistent with this application and, together with the description, serve to explain the principles of this application. It is obvious that the drawings described below are merely some embodiments of this application, and those skilled in the art can obtain other drawings based on these drawings without any inventive effort. In the drawings:

[0019] Figure 1 A schematic diagram illustrating a scenario where the technical solutions of the embodiments of this application can be applied;

[0020] Figure 2 A flowchart of an agent scheduling method according to an embodiment of this application is shown;

[0021] Figure 3 A schematic diagram illustrating the positional relationship between two nodes of an agent according to an embodiment of this application is shown.

[0022] Figure 4 A schematic diagram of the rotational profile of an intelligent agent according to an embodiment of this application is shown;

[0023] Figure 5 A detailed flowchart illustrating how, according to an embodiment of this application, various agents are scheduled to perform transport tasks in a scheduling area based on the map data, the agent conflict data, and the path reference data;

[0024] Figure 6 This illustration shows a scenario of path planning for an agent in a directed graph according to an embodiment of the present application.

[0025] Figure 7 A detailed flowchart illustrating path planning for each agent based on the map data, the agent conflict data, and the path reference data, according to an embodiment of this application, is shown.

[0026] Figure 8 A schematic diagram of an agent scheduling method according to an embodiment of this application is shown;

[0027] Figure 9 A block diagram of an intelligent agent scheduling apparatus according to an embodiment of this application is shown;

[0028] Figure 10 A schematic diagram of the structure of a computer system suitable for implementing the electronic device of the present application is shown. Detailed Implementation

[0029] Exemplary embodiments will now be described more fully with reference to the accompanying drawings. However, these exemplary embodiments can be implemented in many forms and should not be construed as limited to the examples set forth herein; rather, these embodiments are provided to make this application more comprehensive and complete, and to fully convey the concept of the exemplary embodiments to those skilled in the art.

[0030] Furthermore, the described features, structures, or characteristics can be combined in any suitable manner in one or more embodiments. Numerous specific details are provided in the following description to give a thorough understanding of embodiments of this application. However, those skilled in the art will recognize that the technical solutions of this application can be practiced without one or more of the specific details, or other methods, components, apparatuses, steps, etc., can be employed. In other instances, well-known methods, apparatuses, implementations, or operations are not shown or described in detail to avoid obscuring various aspects of this application.

[0031] The block diagrams shown in the accompanying drawings are merely functional entities and do not necessarily correspond to physically independent entities. That is, these functional entities can be implemented in software, in one or more hardware modules or integrated circuits, or in different network and / or processor devices and / or microcontroller devices.

[0032] The flowcharts shown in the accompanying drawings are merely illustrative and do not necessarily include all content and operations / steps, nor do they necessarily have to be performed in the described order. For example, some operations / steps can be broken down, while others can be combined or partially combined; therefore, the actual execution order may change depending on the specific circumstances.

[0033] It should be noted that "multiple" in this article refers to two or more. "And / or" describes the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent: A alone, A and B simultaneously, or B alone. The character " / " generally indicates that the preceding and following related objects have an "or" relationship.

[0034] It should be noted that the terms "first," "second," etc., in the specification, claims, and accompanying drawings of this application are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It should be understood that such uses of these terms can be interchanged where appropriate so that the embodiments of this application described herein can be implemented in orders other than those illustrated or described.

[0035] Figure 1 A schematic diagram of a scenario in which the technical solutions of the embodiments of this application can be applied is shown.

[0036] like Figure 1 The system architecture shown may include a server 101 (which may also be one or more of a smartphone, tablet, and laptop), a network 102, and an agent 103 (such as an Automated Guided Vehicle, AGV, or Autonomous Mobile Robot, AMR). The network 102 serves as the medium for providing a communication link between the server 101 and the agent 103. The network 102 may include various connection types, such as wired communication links, wireless communication links, etc.

[0037] In one embodiment of this application, the agent scheduling method can be executed by server 101, or more specifically, by agent 103 cooperating with server 101. Figure 1In the scheduling area 104 shown, one or more intelligent agents 103 can be scheduled to perform transport tasks. In this case, the server 101 can acquire map data and specification data of the intelligent agents. The map data includes a directed graph that matches the scheduling area. Then, based on the map data and the specification data, the server 101 determines intelligent agent conflict data for recording whether there is a spatial conflict at the same time when any two intelligent agents move in the scheduling area. Based on the map data and the specification data, the server 101 determines path reference data for recording the shortest path between any two nodes in the directed graph. Finally, based on the map data, the intelligent agent conflict data, and the path reference data, the server 101 schedules each intelligent agent to perform transport tasks in the scheduling area.

[0038] In this application, before scheduling each agent to perform a transport task in the scheduling area, the relevant scheduling data is preprocessed to obtain map data, agent conflict data, and path reference data. Then, based on the map data, agent conflict data, and path reference data, each agent is scheduled to perform a transport task in the scheduling area, which can improve the response speed of agent scheduling.

[0039] The implementation details of the technical solutions in the embodiments of this application are described in detail below:

[0040] Figure 2 A flowchart of an agent scheduling method according to an embodiment of this application is shown. This agent scheduling method can be executed by a device with computing processing capabilities, such as... Figure 1 The server shown is executing. (Refer to...) Figure 2 As shown, the agent scheduling method includes at least steps 210 to 270, which are described in detail below:

[0041] In step 210, map data and specification data of the intelligent agent are acquired. The map data includes a directed graph that matches the scheduling area. The directed graph has multiple nodes and multiple edges, wherein any edge connects two nodes.

[0042] In this application, the map data includes a directed graph that matches the scheduling area. Specifically, the map data can be represented based on graph theory, using a directed graph G = (N, A), where N = {n_1, n_2, ..., n_n} represents the nodes in the graph, and A = {a_1, a_2, ..., a_m} represents the edges between the nodes. To adapt to the application of agent scheduling in transportation scenarios, each node and edge in the map data can be assigned several corresponding properties, which are stored together within the map data.

[0043] The node properties can include the node name; two-dimensional coordinate information (representing the node's position on a plane); floor information (representing the node's height); whether the node can stay with an agent; whether the node is an elevator, etc.

[0044] The properties of the edges can include the names of the origin and destination points; Bézier curve information; edge length; and whether there is a gate (e.g., whether there is a turnstile on the edge). Furthermore, the directed graph can also include the weighted length of each edge (it should be noted that the weighted length of an edge is not necessarily equal to its actual length; the weighted length is the actual length multiplied by a certain proportion, the purpose of which is to increase or decrease the probability of the edge being selected), and the direction of the edges (which can include unidirectional or bidirectional connections).

[0045] In addition, in this application, the map data can also include constraint information for the movement of the agent in the scheduling area. For example, the restrictions on the agent in the node (e.g., the agent cannot enter or rotate, etc.); the loading speed or empty speed of the agent on the connecting edge; the agent must move along the connecting edge when moving, and after entering a connecting edge, it must reach the other end (node) of the edge along the direction of movement; the agent can perform movement forms such as stopping, rotating, and turning at the node; there is no conflict between agents on different floors; if a node cannot be stopped, the agent cannot be stationary at that node; the agent can move across floors by elevator, and an elevator can only carry one agent at a time; if there is a door on a connecting edge, a door crossing command must be issued before the agent can pass through the connecting edge.

[0046] In this application, an intelligent agent map in the production / handling / logistics scenario can be depicted according to the above data format and saved as input data for subsequent preprocessing operations, as well as basic data in the actual operation process.

[0047] In this application, specification data of the intelligent agent can also be obtained. For example, the specification data of the intelligent agent may be the shape, size, model, transport speed, rotation angle range, etc.

[0048] In this application, the types of intelligent agents involved can include multiple types, each with its own unique specification data, which differs from the specification data of other types of intelligent agents. In actual scheduling processes, intelligent agents can be abstracted into more characteristic and generalizable geometric shapes, and assigned different properties to describe their characteristics. These properties can include the agent's name; its shape (rectangular / circular); its dimensions (if rectangular, the dimensions are described by length and width; if circular, the dimensions are described by radius. Different dimensions can be set for each agent for empty / carried conditions); and its speed (straight-line speed, turning speed, rotational speed, etc.).

[0049] Continue to refer to Figure 2 In step 230, based on the map data and the specification data, agent conflict data is determined. The agent conflict data is used to record whether there is a spatial conflict at the same time when any two agents move in the scheduling area.

[0050] In this application, agent conflict data can be preprocessed by considering map data and agent specification data, and used as a conflict determination criterion in the real-time scheduling process.

[0051] In this application, since the directed graph corresponding to the scheduling region includes several nodes and edges connecting these nodes, agents may conflict with each other when moving within the scheduling region (multiple agents appearing at a certain position in the directed graph at the same time, resulting in collisions). Based on this, agent conflict data can be determined based on the map data and agent specification data to record whether any two agents have a spatial conflict at the same time when moving within the scheduling region.

[0052] Specifically, in this application, whether there is a spatial conflict when two agents move in the scheduling area at the same time can include three situations: first, when both agents are on a node at the same time, is there a spatial conflict; second, when both agents are on a node and an edge respectively at the same time, is there a spatial conflict; and third, when both agents are on an edge at the same time, is there a spatial conflict.

[0053] To enable those skilled in the art to better understand this application, the three possible conflicting situations described above will be explained in detail below.

[0054] By combining map data and agent specification data, along with the agent's properties and location, relevant agent conflict data is generated. For each type of agent, conflict data with all other types of agents is generated, as shown below:

[0055] First, node conflict – a conflict that occurs when two agents are both on a node.

[0056] When the agent is rectangular, without considering rotation, the angle that a rectangular agent can have at each node is considered to be the angle of the edge with that node as its endpoint. Therefore, in node avoidance, the rectangular agent considers avoidance between a finite number of fixed angles at each node. To determine if a rectangular agent is in conflict, and given the strong randomness of the rectangle's angles, it is necessary to determine if each edge of the rectangle is in conflict. Let the intersecting edges to be determined be (P1, P2) and (Q1, Q2), where P1 = (x1, y1), P2 = (x2, y2), P3 = (x3, y3), and P4 = (x4, y4). The specific method is as follows:

[0057] Rapid repulsion test: If rectangles with diagonals (P1,P2) and (Q1,Q2) do not intersect, then the two line segments do not intersect. The requirements are: max(x1,x2)≥min(x3,x4) and max(y1,y2)≥min(y3,y4), and max(x3,x4)>=min(x1,x2) and max(y3,y4)>=min(y1,y2).

[0058] Cross-segment test: If they intersect, then points P1 and P2 are on opposite sides of line segment (Q1,Q2), and Q1 and Q2 are on opposite sides of line segment (P1,P2). The requirement is that [(P1,Q1)×(P1,Q2)]*[(P2,Q1)×(P2,Q2)]≤0 and [(Q1,P1)×(Q1,P2)]×[(Q2,P1)×(Q2,P2)]≤0.

[0059] The two-step method described above is used to determine whether any two edges intersect. If a pair of edges intersect, the two rectangles are determined to intersect, leading to the conclusion that there is a spatial conflict when two agents are on the node at the same time, and this is saved as relevant conflict data.

[0060] For example, see Figure 3 Figure 300(a) illustrates the positional relationship between two nodes of an agent according to an embodiment of this application. In Figure 300(a), agent 1 is on node M and agent 2 is on node N. Since any contour edge of agent 1 and any contour edge of agent 2 do not intersect, it can be concluded that there is no spatial conflict when agent 1 and agent 2 are both on the node at the same time. In Figure 300(b), agent 3 is on node Q and agent 4 is on node P. Since some contour edges of agent 3 and some contour edges of agent 4 intersect, it can be concluded that there is a spatial conflict when agent 3 and agent 4 are both on the node at the same time.

[0061] When the agent is abstracted as a circle, let the coordinates of the center point of the agent be (x1, y1) and (x2, y2), and the radii be r1 and r2 respectively. Then, we need to... If it does not match, it is a conflict; save the relevant data.

[0062] Second, node and edge conflict—when one agent is on an edge, another agent on a node must avoid it.

[0063] An edge containing an agent is abstracted as a rectangle with a length equal to the edge length and a width equal to the agent's width / radius. Consider an adjacent node with another agent: if the agent at the node is a rectangle, check if it conflicts with the abstracted rectangle at different angles. This can be done using the fast rejection test and the straddle test described above to check if any two sides of the two rectangles intersect. If the agent at the node is a circle, determine if the circle intersects with any side of the abstracted rectangle. If there is an intersection, it is considered a conflict, and the relevant conflict data is saved.

[0064] Furthermore, consider the rotation of the rectangular agent at the nodes. Based on the rotation trajectory, the rotation action of the rectangular agent between any two feasible angles at the node is abstracted into two symmetrical sectors, and the conflict situation with the agents at adjacent nodes is determined, and the relevant conflict data is saved. Figure 4 The diagram 400 shows a schematic of a rotating profile (fan-shaped) of an intelligent agent according to an embodiment of the present application.

[0065] Third, edge conflict – avoidance when both agents are on the same edge.

[0066] The edges where the two agents are located can be abstracted into two rectangles with sides of length and width equal to the agent's width / radius. The above-mentioned fast rejection test + crossover test can be used to check whether any two sides of the two rectangles intersect. If they intersect, the relevant conflict data is saved.

[0067] In this application, by preprocessing data, agent conflict data is obtained, which records whether there is a spatial conflict at the same time when any two agents move in the scheduling area. This can provide data reference and support for the scheduling of subsequent transportation tasks, which can not only enhance the accuracy and stability of subsequent transportation task scheduling, but also reduce the amount of data calculation in the subsequent transportation task scheduling process, and improve the scheduling efficiency and response speed of subsequent transportation tasks.

[0068] Continue to refer to Figure 2 In step 250, path reference data is determined based on the map data and the specification data. The path reference data is used to record the shortest path between any two nodes in the directed graph.

[0069] In this application, path reference data for recording the shortest path between any two nodes in the directed graph can be determined based on the map data and the agent's specification data. During the data preprocessing stage, conflicts between agents can be disregarded initially, and the shortest path between any two points on the map for each type of agent can be calculated as path reference data. This path serves as input data for real-time scheduling, thereby improving real-time scheduling efficiency.

[0070] Specifically, the Bellman-Ford algorithm can be used to calculate the shortest path for each task without considering conflicts, with the goal of minimizing path cost. The calculation method is as follows:

[0071] d v ←min{d v ,d u +c uv ·w uv}

[0072] if d v changes, thenπ v ←u

[0073] Where v and u are any two nodes in the directed graph; d v d u c is the path cost from the starting point to nodes v and u. uv Let w be the length of the edge (u, v). uv Let be the weight coefficient of edge (u, v); during the calculation process, ensure that the path cost from the starting point to each node in the calculation process is the shortest, and update the path.

[0074] In this application, by preprocessing the data, path reference data is obtained to record the shortest path between any two nodes in the directed graph of the agent. This can provide data reference and support for the scheduling of subsequent transportation tasks, which can not only enhance the accuracy and stability of subsequent transportation task scheduling, but also reduce the amount of data calculation in the subsequent transportation task scheduling process, thereby improving the scheduling efficiency and response speed of subsequent transportation tasks.

[0075] Continue to refer to Figure 2 In step 270, the transport tasks assigned to at least one agent are obtained, and based on the map data, the agent conflict data, and the path reference data, each agent is scheduled to perform the transport tasks in the scheduling area.

[0076] In such Figure 2 In one embodiment of step 270 shown, based on the map data, the agent conflict data, and the path reference data, each agent is scheduled to perform a transport task in the scheduling area, which can be done as follows: Figure 5 Perform the steps shown.

[0077] See Figure 5 This document illustrates a detailed flowchart of a method for scheduling agents to perform transport tasks in a scheduling area based on the map data, agent conflict data, and path reference data, according to an embodiment of this application. Specifically, it includes steps 271 to 272:

[0078] Step 271: Based on the map data, the agent conflict data, and the path reference data, perform path planning for each agent according to the transport task to obtain at least one path information.

[0079] Step 272: According to the path information, schedule each intelligent agent to perform the transport task in the scheduling area.

[0080] In this application, path information refers to the movement path of an agent performing a transport task in a directed graph reflected by the scheduling area. It can be determined based on map data, agent conflict data, and path reference data, according to the transport task assigned to the agent. Figure 6 This diagram illustrates a scenario of path planning for agents in a directed graph according to an embodiment of this application. For example, path a is planned for agent A, path b is planned for agent B, and path c is planned for agent C.

[0081] In this application, by using agent conflict data and path reference data obtained through preprocessing, the accuracy and stability of data processing during the transportation task scheduling process can be enhanced, while the computational load of data processing during transportation task scheduling can be reduced, thereby improving the scheduling efficiency of transportation tasks.

[0082] In this embodiment, that is, in the case of Figure 5 In step 271 shown, based on the map data, the agent conflict data, and the path reference data, path planning is performed for each agent according to the transport task to obtain at least one path information, which can be done as follows: Figure 7 Perform the steps shown.

[0083] See Figure 7 This document illustrates a detailed flowchart of a method for path planning for each agent based on the map data, agent conflict data, and path reference data, according to an embodiment of this application. Specifically, it includes steps 2711 to 2714:

[0084] Step 2711: Based on the map data, determine the starting and ending nodes for each agent to perform the corresponding transport task in the directed graph.

[0085] Step 2712: Based on the path reference data, determine the shortest path for each agent to perform the corresponding transport task in the directed graph according to the starting node and ending node of each agent.

[0086] Step 2713: Based on the agent conflict data, group the agents according to the shortest path to obtain multiple agent groups. Among them, when any agent in any agent group moves along the shortest path in the scheduling area, there is no spatial conflict at the same time between any agent in any agent group and any agent in other agent groups.

[0087] Step 2714: For each target intelligent agent group, perform path planning for each intelligent agent in the target intelligent agent group to obtain at least one path information. The target intelligent agent group is any one of the multiple intelligent agent groups.

[0088] Traditional multi-agent path planning selects each step of the path (from one node to another) of all agents within the map as a child node and maintains it in a large path search tree. In this application, however, agent conflict data and path reference data obtained through the aforementioned data preprocessing can be used to perform relevant grouping operations. The specific steps are as follows:

[0089] First, the system receives real-time transport task data from the agents and obtains the start and end points of all transport tasks (all transport tasks include newly received transport tasks and those already being executed; the start point of an already executed transport task is set as the current node or edge of the corresponding agent). Then, combining agent conflict data and path reference data, it determines whether any two agents will conflict if they travel along the shortest path. Finally, agents that have clashed are grouped together, and path search trees are built for each group for subsequent path planning.

[0090] In this application, the path search tree is decomposed into multiple smaller path search trees by grouping, thereby greatly reducing the problem size and improving real-time scheduling efficiency.

[0091] In this embodiment, path planning is performed on each agent in the target agent group to obtain at least one path information, which can be executed according to the following steps 281 to 282:

[0092] Step 281: Obtain the priority of the transportation task corresponding to each agent in the target agent group, and select a target transportation task from the transportation tasks corresponding to each agent in the target agent group in sequence according to the planning order defined by the priority.

[0093] Step 282: Based on the map data, perform path planning for the agent corresponding to the target transport task to obtain at least one path information.

[0094] In this application, by planning paths for each agent according to the priority order of each transport task, the advantage is that the rationality of scheduling agents is improved.

[0095] In this application, path planning for the agent corresponding to the target transport task can be implemented based on the improved A* algorithm.

[0096] Specifically, the A* algorithm is a common path planning algorithm in industry and one of the foundations of multi-agent scheduling algorithms. The algorithm formula is as follows:

[0097] f(n) = h(n) + g(n)

[0098] Where n represents the current node found by the agent during the path search process; f(n) is the minimum cost estimate from the starting point of the task to the destination of the task via node n; g(n) is the minimum cost from the starting point of the task to node n; and h(n) is the minimum cost estimate from node n to the destination of the task.

[0099] Furthermore, g(n), as the minimum cost value of the searched paths, is a fixed value; while h(n) is the minimum cost estimate from node n to the task target endpoint. The choice of estimation method significantly impacts search efficiency. Common methods for estimating h(n) include: 1) straight-line distance estimation; 2) Manhattan distance estimation, but neither of these methods can accurately reconstruct the cost from node n to the task target endpoint. In this scheme, Bellman-Ford shortest path preprocessing data can be used, and the actual cost from node n to the target endpoint can be used as h(n), which can greatly improve the efficiency of the A* algorithm's search process.

[0100] In this embodiment, based on the map data, path planning for the agent corresponding to the target transport task can be performed according to the following steps 2821 to 2823:

[0101] Step 2821: Obtain the paths already planned for other agents as historical paths.

[0102] Step 2822: Based on the map data, determine candidate paths that do not conflict with the historical paths in terms of time and space.

[0103] Step 2823: Select a target path from the candidate paths for the agent corresponding to the target transport task.

[0104] Furthermore, in this embodiment, selecting a target path for the agent corresponding to the target transport task from the candidate paths can be performed according to the following steps 291 to 292:

[0105] Step 291: Calculate the path cost of the agent on the candidate path based on the edge length and edge weight coefficient of each connecting edge on the candidate path. The path cost is used to characterize the cost incurred by the agent in performing the transport task on the candidate path.

[0106] Step 292: Select the candidate path with the lowest path cost as the target path for the agent to perform the target transport task.

[0107] In this application, by considering the edge weight coefficient of each connection, the probability of a connection being selected can be increased or decreased during path planning, thereby emphasizing or avoiding the selection of a certain path as part of the final path. For example, it can meet the requirement of not taking a certain connection or focusing on taking a certain connection in a real-world scenario, which is conducive to enhancing the personalization of the path planning process.

[0108] In this embodiment, selecting a target path for the agent corresponding to the target transport task from the candidate paths can also be performed according to the following steps 291 to 292:

[0109] Step 293: Calculate the path cost of the agent on the candidate path based on the edge length and edge weight coefficient of each connecting edge on the candidate path. The path cost is used to characterize the cost incurred by the agent in performing the transport task on the candidate path.

[0110] Step 294: Obtain the time cost of the agent on the candidate path.

[0111] Step 295: Calculate the comprehensive cost of the agent on the candidate path based on the path cost and the time cost.

[0112] Step 296: Select the candidate path with the lowest overall cost as the target path for the agent to perform the target transport task.

[0113] Based on the above embodiments, it will be understood by those skilled in the art that a multi-agent path search tree is maintained for each group to maintain the planning priority of the agents. In each round of planning, the complete path of each agent is planned sequentially according to this priority order, and the path and the time window for each node and edge traversed on the path are recorded. Agents with lower priority perform conflict-free path planning based on the path and time window occupied by the preceding agent. The core of conflict-free path planning is to use the conflict preprocessing data of the multi-agent agents for judgment, and the specific points are as follows:

[0114] 1. Calculate the path using the improved A* algorithm described above according to the priority order within the group, and save the path;

[0115] 2. During the planning process, agents with lower priority need to determine on the timeline at each step of the path search whether the node and edge reached in the current step conflict with the existing paths of other agents. If there is a conflict, the node is abandoned, and the search for other paths continues from the previous node in the path; if there is no conflict, the node is saved.

[0116] 3. After the path search within a group is completed, the path is saved as conflict judgment data for the next group's path planning, ensuring that there are no conflicts in the paths of all agents.

[0117] In this application, after obtaining the final planned path information, each agent can be scheduled to perform transport tasks in the scheduling area according to the path information. By adopting the scheduling scheme proposed in this application, the problem size can be greatly reduced, scheduling efficiency can be improved, and algorithm response time can be reduced, while taking into account the safety of the agents and stably outputting path planning and scheduling instructions.

[0118] To enable those skilled in the art to better understand this solution as a whole, the following is a combination of... Figure 8 For further explanation, please refer to [link / reference]. Figure 8 The diagram 800 illustrates an implementation of an agent scheduling method according to an embodiment of this application.

[0119] In one embodiment of this application, three data interfaces are designed: 1) map data interface; 2) agent specification data interface; 3) real-time transport task data interface.

[0120] Interfaces 1 and 2 receive map data and agent data respectively, save the data, and combine the two sets of data for data preprocessing to obtain map data, agent conflict data, and path reference data. Interface 3 receives real-time transport task data, combines the data processed by interfaces 1 and 2 with the real-time transport task data, and outputs the corresponding path planning and scheduling results.

[0121] In this application, before scheduling each agent to perform a transport task in the scheduling area, relevant scheduling data is preprocessed to obtain map data, agent conflict data, and path reference data. The preprocessed data is then stored in advance. Based on the map data, agent conflict data, and path reference data, each agent is scheduled to perform a transport task in the scheduling area. This can improve the response speed of agent scheduling in transport scenarios, especially in scenarios with a large number and variety of agents, thereby improving the efficiency and scientific nature of agents performing transport tasks, reducing human intervention, improving scenario compatibility and practicality, and providing high-quality and high-stability scheduling decisions.

[0122] The following describes an apparatus embodiment of this application, which can be used to execute the agent scheduling method in the above embodiments of this application. For details not disclosed in the apparatus embodiments of this application, please refer to the embodiments of the agent scheduling method described above.

[0123] Figure 9 A block diagram of an intelligent agent scheduling apparatus according to an embodiment of this application is shown.

[0124] Reference Figure 9 As shown, an intelligent agent scheduling device 900 according to an embodiment of this application includes: a first acquisition unit 901, a first determination unit 902, a second determination unit 903, and a second acquisition unit 904.

[0125] The system comprises the following components: a first acquisition unit 901, used to acquire map data and agent specification data; the map data includes a directed graph matching the scheduling area, the directed graph having multiple nodes and multiple edges, wherein any edge connects two nodes; a first determination unit 902, used to determine agent conflict data based on the map data and the specification data, the agent conflict data recording whether any two agents have a spatial conflict at the same time while moving in the scheduling area; a second determination unit 903, used to determine path reference data based on the map data and the specification data, the path reference data recording the shortest path between any two nodes in the directed graph; and a second acquisition unit 904, used to acquire transport tasks assigned to at least one agent, and based on the map data, the agent conflict data, and the path reference data, to schedule each agent to perform the transport tasks in the scheduling area.

[0126] In some embodiments of this application, based on the foregoing scheme, the second acquisition unit 904 is configured to: perform path planning for each intelligent agent according to the transport task based on the map data, the intelligent agent conflict data, and the path reference data, to obtain at least one path information; and schedule each intelligent agent to perform the transport task in the scheduling area according to the path information.

[0127] In some embodiments of this application, based on the foregoing scheme, the second acquisition unit 904 is further configured to: determine the starting node and ending node of each agent performing the corresponding transport task in the directed graph based on the map data; determine the shortest path for each agent to perform the corresponding transport task in the directed graph based on the path reference data and the starting node and ending node corresponding to each agent; group each agent according to the shortest path based on the agent conflict data to obtain multiple agent groups, wherein any agent in any agent group and any agent in other agent groups do not have spatial conflicts at the same time when moving in the scheduling area according to the shortest path; and perform path planning for each agent in the target agent group to obtain at least one path information, wherein the target agent group is any one of the multiple agent groups.

[0128] In some embodiments of this application, based on the foregoing scheme, the second acquisition unit 904 is further configured to: acquire the priority of the transport task corresponding to each intelligent agent in the target intelligent agent group, and select a target transport task from the transport tasks corresponding to each intelligent agent in the target intelligent agent group in sequence according to the planning order defined by the priority; and perform path planning for the intelligent agent corresponding to the target transport task based on the map data to obtain at least one path information.

[0129] In some embodiments of this application, based on the foregoing scheme, the second acquisition unit 904 is further configured to: acquire paths planned for other intelligent agents as historical paths; determine candidate paths based on the map data, wherein the candidate paths do not conflict with the historical paths in time and space; and select a target path from the candidate paths for the intelligent agent corresponding to the target transport task.

[0130] In some embodiments of this application, based on the foregoing scheme, the second acquisition unit 904 is further configured to: calculate the path cost of the agent on the candidate path according to the edge length and edge weight coefficient of each connecting edge on the candidate path, wherein the path cost is used to characterize the cost incurred by the agent in performing the transport task on the candidate path; and select the candidate path with the lowest path cost as the target path for the agent to perform the target transport task.

[0131] In some embodiments of this application, based on the foregoing scheme, the second acquisition unit 904 is further configured to: calculate the path cost of the agent on the candidate path according to the edge length and edge weight coefficient of each connecting edge on the candidate path, wherein the path cost is used to characterize the cost incurred by the agent in performing the transport task on the candidate path; acquire the time cost of the agent on the candidate path; calculate the comprehensive cost of the agent on the candidate path based on the path cost and the time cost; and select the candidate path with the lowest comprehensive cost as the target path for the agent to perform the target transport task.

[0132] Figure 10 A schematic diagram of the structure of a computer system suitable for implementing the electronic device of the present application is shown.

[0133] It should be noted that, Figure 10 The computer system 1000 of the electronic device shown is merely an example and should not impose any limitation on the functionality and scope of use of the embodiments of this application.

[0134] like Figure 10 As shown, the computer system 1000 includes a Central Processing Unit (CPU) 1001, which can perform various appropriate actions and processes based on programs stored in Read-Only Memory (ROM) 1002 or programs loaded from storage portion 1008 into Random Access Memory (RAM) 1003, such as performing the methods described in the above embodiments. The RAM 1003 also stores various programs and data required for system operation. The CPU 1001, ROM 1002, and RAM 1003 are interconnected via a bus 1004. An Input / Output (I / O) interface 1005 is also connected to the bus 1004.

[0135] The following components are connected to I / O interface 1005: an input section 1006 including a keyboard, mouse, etc.; an output section 1007 including a cathode ray tube (CRT), liquid crystal display (LCD), etc., and speakers, etc.; a storage section 1008 including a hard disk, etc.; and a communication section 1009 including a network interface card such as a LAN (Local Area Network) card, modem, etc. The communication section 1009 performs communication processing via a network such as the Internet. A drive 1010 is also connected to I / O interface 1005 as needed. Removable media 1011, such as a disk, optical disk, magneto-optical disk, semiconductor memory, etc., are installed on drive 1010 as needed so that computer programs read from them can be installed into storage section 1008 as needed.

[0136] Specifically, according to embodiments of this application, the processes described above with reference to the flowcharts can be implemented as computer software programs. For example, embodiments of this application include a computer program product comprising a computer program carried on a computer-readable medium, the computer program containing program code for performing the methods shown in the flowcharts. In such embodiments, the computer program can be downloaded and installed from a network via communication section 1009, and / or installed from removable medium 1011. When the computer program is executed by central processing unit (CPU) 1001, it performs various functions defined in the system of this application.

[0137] It should be noted that the computer-readable medium shown in the embodiments of this application can be a computer-readable signal medium or a computer-readable storage medium, or any combination of the two. A computer-readable storage medium can be, for example,—but not limited to—an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination thereof. More specific examples of a computer-readable storage medium may include, but are not limited to: an electrical connection having one or more wires, a portable computer disk, a hard disk, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM), flash memory, optical fiber, portable compact disc read-only memory (CD-ROM), optical storage device, magnetic storage device, or any suitable combination thereof. In this application, a computer-readable storage medium can be any tangible medium containing or storing a program that can be used by or in conjunction with an instruction execution system, apparatus, or device. In this application, a computer-readable signal medium can include a data signal propagated in baseband or as part of a carrier wave, carrying computer-readable program code. Such transmitted data signals can take various forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination thereof. The computer-readable signal medium can also be any computer-readable medium other than a computer-readable storage medium, which can send, propagate, or transmit a program for use by or in connection with an instruction execution system, apparatus, or device. The program code contained on the computer-readable medium can be transmitted using any suitable medium, including but not limited to wireless, wired, etc., or any suitable combination thereof.

[0138] The flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of this application. Each block in a flowchart or block diagram may represent a module, segment, or portion of code, which contains one or more executable instructions for implementing a specified logical function. It should also be noted that in some alternative implementations, the functions indicated in the blocks may occur in a different order than those indicated in the drawings. For example, two consecutively indicated blocks may actually be executed substantially in parallel, and they may sometimes be executed in reverse order, depending on the functions involved. It should also be noted that each block in a block diagram or flowchart, and combinations of blocks in a block diagram or flowchart, can be implemented using a dedicated hardware-based system that performs the specified function or operation, or using a combination of dedicated hardware and computer instructions.

[0139] The units described in the embodiments of this application can be implemented in software or hardware, and the described units can also be located in a processor. The names of these units do not necessarily limit the specific unit itself.

[0140] In another aspect, this application also provides a computer program product or computer program including computer instructions stored in a computer-readable storage medium. A processor of a computer device reads the computer instructions from the computer-readable storage medium and executes the computer instructions, causing the computer device to perform the methods described in the above embodiments.

[0141] In another aspect, this application also provides a computer-readable medium, which may be included in the electronic device described in the above embodiments; or it may exist independently and not assembled into the electronic device. The computer-readable medium carries one or more programs, which, when executed by the electronic device, cause the electronic device to perform the methods described in the above embodiments.

[0142] It should be noted that although several modules or units for the device used to perform actions have been mentioned in the detailed description above, this division is not mandatory. In fact, according to the embodiments of this application, the features and functions of two or more modules or units described above can be embodied in one module or unit. Conversely, the features and functions of one module or unit described above can be further divided and embodied by multiple modules or units.

[0143] Through the above description of the embodiments, those skilled in the art will readily understand that the exemplary embodiments described herein can be implemented by software or by combining software with necessary hardware. Therefore, the technical solutions according to the embodiments of this application can be embodied in the form of a software product, which can be stored in a non-volatile storage medium (such as a CD-ROM, USB flash drive, external hard drive, etc.) or on a network, including several instructions to cause a computing device (such as a personal computer, server, touch terminal, or network device, etc.) to execute the method according to the embodiments of this application.

[0144] Other embodiments of this application will readily occur to those skilled in the art upon consideration of the specification and practice of the embodiments disclosed herein. This application is intended to cover any variations, uses, or adaptations of this application that follow the general principles of this application and include common knowledge or customary techniques in the art not disclosed herein.

[0145] It should be understood that this application is not limited to the precise structure described above and shown in the accompanying drawings, and various modifications and changes can be made without departing from its scope. The scope of this application is limited only by the appended claims.

Claims

1. A method for scheduling intelligent agents, characterized in that, The method includes: Acquire map data and acquire specification data of the intelligent agent. The map data includes a directed graph that matches the scheduling area. The directed graph has multiple nodes and multiple edges, wherein any edge connects two nodes. Based on the map data and the specification data, agent conflict data is determined. The agent conflict data is used to record whether there is a spatial conflict at the same time when any two agents move in the scheduling area. Based on the map data and the specification data, path reference data is determined, which is used to record the shortest path between any two nodes in the directed graph. Obtaining transport tasks assigned to at least one agent, and scheduling each agent to perform transport tasks in the scheduled area based on the map data, agent conflict data, and path reference data, includes the following steps: Based on the map data, the starting and ending nodes for each agent to perform the corresponding transport task are determined in the directed graph. Based on the path reference data, the shortest path for each agent to perform its corresponding transport task is determined in the directed graph according to the starting and ending nodes of each agent. Based on the agent conflict data, the agents are grouped according to the shortest path to obtain multiple agent groups. Among them, when any agent in any agent group moves with any agent in other agent groups in the scheduling area according to the shortest path, there is no spatial conflict at the same time. For each target intelligent agent group, path planning is performed on each intelligent agent in the target intelligent agent group to obtain at least one path information, wherein the target intelligent agent group is any one of the multiple intelligent agent groups; According to the path information, each intelligent agent is scheduled to perform the transport task in the scheduling area.

2. The method according to claim 1, characterized in that, The step of performing path planning for each agent in the target agent group to obtain at least one path information includes: Obtain the priority of the transport task corresponding to each agent in the target agent group, and select a target transport task from the transport tasks corresponding to each agent in the target agent group in sequence according to the planning order defined by the priority. Based on the map data, path planning is performed for the agent corresponding to the target transport task to obtain at least one path information.

3. The method according to claim 2, characterized in that, The step of performing path planning for the agent corresponding to the target transport task based on the map data includes: Obtain paths that have been planned for other agents as historical paths; Based on the map data, candidate paths are determined, and these candidate paths do not conflict with the historical paths in terms of time and space. Select a target path from the candidate paths for the agent corresponding to the target transport task.

4. The method according to claim 3, characterized in that, Selecting a target path from the candidate paths for the agent corresponding to the target transport task includes: Based on the edge length and edge weight coefficient of each connecting edge on the candidate path, the path cost of the agent on the candidate path is calculated. The path cost is used to characterize the cost incurred by the agent in performing the transport task on the candidate path. The candidate path with the lowest path cost is selected as the target path for the agent to perform the target transport task.

5. The method according to claim 3, characterized in that, Selecting a target path from the candidate paths for the agent corresponding to the target transport task includes: Based on the edge length and edge weight coefficient of each connecting edge on the candidate path, the path cost of the agent on the candidate path is calculated. The path cost is used to characterize the cost incurred by the agent in performing the transport task on the candidate path. Obtain the time cost of the agent on the candidate path; Based on the path cost and the time cost, calculate the comprehensive cost of the agent on the candidate path; The candidate path with the lowest overall cost is selected as the target path for the agent to perform the target transport task.

6. A smart agent scheduling device, characterized in that, The device includes: The first acquisition unit is used to acquire map data and acquire the specification data of the intelligent agent. The map data includes a directed graph that matches the scheduling area. The directed graph has multiple nodes and multiple edges, wherein any edge connects two nodes. The first determining unit is used to determine agent conflict data based on the map data and the specification data. The agent conflict data is used to record whether there is a spatial conflict at the same time when any two agents move in the scheduling area. The second determining unit is used to determine path reference data based on the map data and the specification data. The path reference data is used to record the shortest path between any two nodes in the directed graph. The second acquisition unit is used to acquire the transport tasks assigned to at least one agent, and based on the map data, the agent conflict data, and the path reference data, to schedule each agent to perform the transport tasks in the scheduling area, including the following steps: Based on the map data, the starting and ending nodes for each agent to perform the corresponding transport task are determined in the directed graph. Based on the path reference data, the shortest path for each agent to perform its corresponding transport task is determined in the directed graph according to the starting and ending nodes of each agent. Based on the agent conflict data, the agents are grouped according to the shortest path to obtain multiple agent groups. Among them, when any agent in any agent group moves with any agent in other agent groups in the scheduling area according to the shortest path, there is no spatial conflict at the same time. For each target intelligent agent group, path planning is performed on each intelligent agent in the target intelligent agent group to obtain at least one path information, wherein the target intelligent agent group is any one of the multiple intelligent agent groups; According to the path information, each intelligent agent is scheduled to perform the transport task in the scheduling area.

7. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores at least one piece of program code, which is loaded and executed by a processor to perform the operations performed by the method as described in any one of claims 1 to 5.

8. An electronic device, characterized in that, The electronic device includes one or more processors and one or more memories, wherein at least one piece of program code is stored in the one or more memories, and the at least one piece of program code is loaded and executed by the one or more processors to perform the operation performed by the method as described in any one of claims 1 to 5.

Citation Information

Patent Citations

  • Path planning method and device, robot and storage medium

    CN111780775A

  • Dispatching method and device for automated guided vehicles

    CN112561168A