A method for quickly detecting connectivity of an AGV map, and a query system and device thereof
Patent Information
- Application Number
- CN202311644866.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-12-04
- Publication Date
- 2026-08-21
- Estimated Expiration
- 2043-12-04
AI Technical Summary
[0005]为了解决现有AGV车辆的连通性检查方法不合理导致数据处理负荷过大,效率较低的问题,本发明提供一种AGV地图连通性的快速检测方法、一种AGV地图连通性的查询系统、一种AGV地图连通性的查询装置和一种AGV
[0056] This invention transforms the connectivity query problem in traditional AGV vehicles from a point-to-point pathfinding approach into a point-to-connected graph matching problem. Therefore, it eliminates the need for frequent calls to the A-Star algorithm, significantly reducing the data processing load on the vehicles and improving the connectivity query efficiency of AGV vehicles. Furthermore, utilizing a pre-created database of connected subgraphs, this invention also supports sending alternative, modifiable options to the vehicle's navigation system or administrator when the origin or destination of a transportation task proposed by the scheduling system is not connected, guiding the scheduling system to modify the task information.
Smart Images

Figure CN117668139B_ABST
Abstract
Description
Technical Field
[0001] This invention belongs to the field of automated guided vehicles, specifically relating to a rapid detection method for AGV map connectivity, an AGV map connectivity query system, an AGV map connectivity query device, and an AGV. Background Technology
[0002] AGV (Automated Guided Vehicle) refers to a transport vehicle equipped with electromagnetic or optical automatic guidance devices, capable of traveling along a prescribed guide path, and possessing safety protection and various transfer functions. Under the command of a control system, AGVs with automatic transfer devices can automatically complete the entire process of picking up, placing, and horizontally moving goods. They are currently widely used in port cargo handling and logistics center sorting scenarios.
[0003] To manage and schedule Automated Guided Vehicles (AGVs), a map is typically created to describe the AGV's operating environment. The AGV map contains several nodes, representing nodes along the AGV's travel path. The line segment between two nodes is called an "edge." A "bidirectional edge" means that the AGV can travel in both directions. After the system sends the path to the AGV, the AGV will follow the path and eventually reach its destination to complete the task. However, in practical applications, the more complex the operating environment, the more likely the AGV map will contain connectivity issues. A connectivity issue means that a node, as the starting point, has no connecting path to the target point, preventing the AGV from performing its intended task at that point. In this case, the scheduling system cannot control the AGV to reach its destination, directly affecting the normal operation of the scheduling system. Therefore, map connectivity is crucial for the operation of the AGV system.
[0004] Connectivity checks are the primary task for AGV vehicles when handling new routes. Current AGV control systems use a point-to-point approach for connectivity checks. Obtaining the entire graph requires frequent calls to the A* (A-star, a pathfinding and graph traversal algorithm), which reduces efficiency and places higher demands on the AGV's edge computing performance. Summary of the Invention
[0005] To address the problem of excessive data processing load and low efficiency caused by the unreasonable connectivity inspection methods of existing AGV vehicles, this invention provides a rapid detection method for AGV map connectivity, an AGV map connectivity query system, an AGV map connectivity query device, and an AGV.
[0006] This invention is achieved using the following technical solution:
[0007] A fast method for detecting the connectivity of AGV maps includes the following steps:
[0008] S1: Number all nodes on the AGV map. i This forms a node set U.
[0009] S2: Using the set of nodes U as a range, select any node as the starting node s0, and find all nodes that are connected to the starting node. The process is as follows:
[0010] S21: Assign a category label M1 to the starting node s0.
[0011] S22: Obtain all adjacent nodes of the starting node S0 from the node set U to form an adjacent node set. In this invention, an adjacent node refers to a node that can be directly reached from the starting node.
[0012] S23: Use any pathfinding algorithm A* to find the path from each neighboring node in the set of neighboring nodes to the starting node.
[0013] The return path of S0.
[0014] S24: If the returned path is successfully obtained, classify the node and the starting node S0 into the same category and add the category label M1 to it.
[0015] S25: Take each node in the set of adjacent nodes as the starting node of the next round, and obtain all nodes in the adjacent nodes of the starting node that have not been marked, to form the set of adjacent nodes of the next level.
[0016] S26: Repeat the above steps to find the next level of adjacent nodes that are connected to the current starting node, and add the category label M1; until the set of adjacent nodes at the last level is empty.
[0017] S27: Obtain all nodes labeled M1, forming a connected node set U1.
[0018] S3: Using the set of remaining nodes in the node set U that do not belong to any connected node set as the new range, randomly select one node from the new range as the new starting node, and repeat step S2 to obtain a new connected node set U. i And assign a new category label M to all nodes in the same set of connected nodes. i .
[0019] S4: Assign a new category label to isolated nodes in the node set U that do not belong to any connected node set, and then the isolated nodes constitute a single node set.
[0020] S5: Connect the set of nodes U with the same category label.i The corresponding region is denoted as a connected subgraph T. i Generate all connected subgraphs contained in the AGV map. Upon receiving any query request, determine the connectivity of any two nodes x and y as follows:
[0021] (1) When x and y belong to the same connected subgraph, it means that the two nodes are connected to each other.
[0022] (2) When x and y belong to different connected subgraphs, it means that the two nodes are not connected to each other.
[0023] (2) If either of the nodes x and y belongs to a set of single nodes, it means that the node is not connected to any other node.
[0024] As a further improvement of the present invention, in step S1, the data format of the node set U is as follows: U = {D1, D2, ..., D...} i D n-1 D n}, where n represents the number of nodes in the node set U.
[0025] As a further improvement of the present invention, in step S2, the adjacent points that are connected to the starting node s0 are recorded as level 1 connected points; the adjacent points that are connected to the level 1 adjacent points are recorded as level 2 connected points; then, there exists at least the following return path from any level N connected point to the starting node s0: "level N connected point → level N-1 connected point → ... → level 2 adjacent point → level 1 adjacent point → starting node s0".
[0026] As a further improvement of the present invention, in step S2, for any node D in the node set U... i The node after adding the category label M1 is denoted as (D). i ,M1);
[0027] but:
[0028] In step S3, the set U of connected nodes contains multiple interconnected nodes. i The data format is as follows:
[0029] U i ={(D1, M i ), (D2, M i ), ..., (D i M i ), ..., (D m-1 M i ), (D m M i )};
[0030] In the above formula, the category label of nodes D1 to Dm is M.i m is the set of connected nodes U i The number of nodes contained therein, m≤n.
[0031] In step S4, a single-node set U containing only one node... j The data format is as follows:
[0032] U j ={(D j M j )}.
[0033] As a further improvement of the present invention, in step S5, each connected subgraph T i The data format is as follows:
[0034]
[0035] In the above formula, V i Let U represent the set of all nodes with the same category label, satisfying: U = ∑V i .
[0036] As a further improvement of this invention, the task of finding the set of connected nodes and adding cluster category labels in steps S3 and S4 is treated as a clustering task, and the DBSCAN algorithm is used to complete the clustering; the clustering process is as follows:
[0037] (1) Set a global variable ID, ID = 0; create a map data structure based on the node set U, where the key value of the global variable ID is the node number D. i The value is the cluster ID of the node. Initialize the cluster ID of all nodes to 0, indicating that they are not clustered.
[0038] (2) Select a node and check if the node already has a cluster number id>0. If it has been clustered, go to (6);
[0039] (3) Increment the global variable ID = ID + 1, and set the current node's tag to id = ID;
[0040] (4) Use the path finding algorithm A* to find all connected nodes from the adjacent nodes of the current node, forming a set of connected nodes B;
[0041] (5) Traverse all nodes in B. If a node has not been checked, set the node's tag to id, find the set of connected adjacent nodes B' of the node, and merge B' into B. Then check the next element in B until all elements in B have been checked.
[0042] (6) Select the next node from the map data structure until the cluster number id of all nodes in the map is not 0.
[0043] As a further improvement of the present invention, in step S5,
[0044] When two nodes in a query request issued by the scheduling system are connected to each other, a corresponding notification is issued.
[0045] When two nodes in a query request issued by the scheduling system are not connected to each other, the system will send the other nodes in the connected subgraph to which the two nodes belong to the scheduling system at the same time as issuing the reminder.
[0046] When any node in a query request issued by the scheduling system belongs to a single-node set, the system sends a message indicating that the node is not connected to any other node.
[0047] This invention also includes an AGV map connectivity query system, which employs the aforementioned rapid map connectivity detection method, pre-establishes a database representing the connectivity between nodes in the map, and responds to node connectivity query requests issued by the scheduling system in conjunction with the database. The AGV map connectivity query system includes: a map information extraction module, a connectivity analysis module, a clustering module, a connected subgraph database generation module, and a query module.
[0048] The map information extraction module is used to convert the physical map into graph structure data. The graph structure data contains several encoded nodes, and all the nodes constitute the node set of the current map.
[0049] The connectivity analysis module is used to obtain all adjacent nodes of each starting node and use the path finding algorithm A* to find the return path from the adjacent nodes to the starting node. Then, the starting node and all adjacent nodes with return paths to the starting node are added to the connected node set.
[0050] The clustering module calls the connectivity analysis module to group all nodes in the current map's node set that have a return path to the starting node, or a return path to a node connected to the starting node, into the same cluster. Nodes in the current map's node set that are not connected to any other node are grouped into a separate cluster. Each node in each cluster is assigned a unique cluster number.
[0051] The connected subgraph database generation module is used to treat each independent region in the map containing all nodes with the same cluster number as a connected subgraph, and generate a database representing statistical information of all connected subgraphs in the map and their nodes.
[0052] The query module is used to obtain query requests issued by the scheduling system, extract the start point and end point contained in the query request, and determine the corresponding nodes of the start point and end point in the node set. Then, it matches the nodes corresponding to the start point and end point in the query request with each connected subgraph; and outputs the following return information: (1) When the start point and end point belong to the same connected subgraph, a prompt message indicating that they are connected to each other is issued. (2) When the start point and end point belong to different connected subgraphs, a prompt message indicating that they are not connected to each other is issued, and the information of other nodes in the connected subgraph to which the start point and / or end point belong is returned to the scheduling system. (3) When the start point belongs to a connected subgraph with only one node, a prompt message indicating that the start point position cannot be started is issued to the scheduling system. (4) When the end point belongs to a connected subgraph with only one node, a prompt message indicating that the end point position cannot be reached is issued to the scheduling system.
[0053] The present invention also includes an AGV map connectivity query device, comprising a memory, a processor, and a computer program stored in the memory and executable on the processor. When the processor executes the computer program, it creates a database and query module portion of the AGV map connectivity query system as described above; thereby enabling a response to query requests from the scheduling system.
[0054] The present invention also includes an AGV that employs the aforementioned AGV map connectivity query device.
[0055] The technical solution provided by this invention has the following beneficial effects:
[0056] This invention transforms the connectivity query problem in traditional AGV vehicles from a point-to-point pathfinding approach into a point-to-connected graph matching problem. Therefore, it eliminates the need for frequent calls to the A-Star algorithm, significantly reducing the data processing load on the vehicles and improving the connectivity query efficiency of AGV vehicles. Furthermore, utilizing a pre-created database of connected subgraphs, this invention also supports sending alternative, modifiable options to the vehicle's navigation system or administrator when the origin or destination of a transportation task proposed by the scheduling system is not connected, guiding the scheduling system to modify the task information. Attached Figure Description
[0057] Figure 1 This is a typical graph structure data containing 6 nodes.
[0058] Figure 2 This is a flowchart of the steps of a rapid detection method for AGV map connectivity provided in Embodiment 1 of the present invention.
[0059] Figure 3 This is a schematic diagram illustrating the principle of the method for finding nodes connected to any node in Embodiment 1 of the present invention.
[0060] Figure 4 This is a flowchart of the steps for generating a set of connected nodes based on connectivity in Embodiment 1 of the present invention.
[0061] Figure 5 This is a system architecture diagram of the AGV map connectivity query system provided in Embodiment 2 of the present invention.
[0062] Figure 6 This is the operational decision graph of the AGV vehicle combined with the connectivity query results provided in Embodiment 4 of the present invention.
[0063] Figure 7 To verify an AGV map with 12 nodes in the experiment.
[0064] Figure 8 for Figure 7 Clustering results of nodes in the AGV map. Detailed Implementation
[0065] To make the objectives, technical solutions, and advantages of this invention clearer, the invention will be further described in detail below with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative and not intended to limit the invention.
[0066] Example 1
[0067] AGV maps are essentially graph-structured data. In typical graph-structured data, a graph G consists of a vertex set V(G) and an edge set E(G), denoted as G = (V, E). If an edge from vertex v1 to v2 has a direction, it is called a directed edge, and v2 is called an adjacent vertex of v1. Any edge in a directed graph is a directed edge. A path is a sequence of all vertices (including the first and last vertices) that traverse from one vertex along an edge in the graph to another. Paths include direct paths that only include the first and last vertices, as well as indirect paths that require traversing multiple intermediate nodes. In a directed graph, if there are paths from vertex v1 to v2 and from vertex v2 to v1, then these two vertices are said to be connected.
[0068] For example, Figure 1 This is a typical graph structure. The graph contains 6 nodes (A to F) and 6 edges (AB, AD, AE, EF, CD, BC), each corresponding to a one-way direct path. While there is no direct path between A and C, there are non-direct paths between them, such as "A→B→C" and "C→D→A". Therefore, nodes A and C are actually connected. Similarly, A and B, and A and D are also connected. Figure 1There exists a path from A to F, but no path from F to A, therefore A and F are not connected. Figure 1 It includes an interconnected region consisting of A, B, C, and D, and an isolated node consisting of E and F.
[0069] Based on the analysis of the graph structure data above, to address the cumbersome connectivity checks between the start and end points of tasks in AGV vehicles, this embodiment provides a novel method comprising three main steps: connected point search, connected graph clustering, and connectivity query. This method first uses the A* algorithm to find all nodes connected to any central node. Then, it uses the DBSCAN algorithm to cluster the nodes in the AGV map into different clusters based on connectivity, resulting in multiple independent connected subgraphs in the AGV map. Finally, by analyzing whether the start and end points belong to the same connected subgraph and the type of the connected subgraph to which they belong, the connectivity between the start and end points is determined. The technical solution provided in this embodiment transforms the connectivity check problem between points into a feature matching problem between points and a graph, thereby significantly reducing the data processing load of AGV vehicles and improving the efficiency of path connectivity checks.
[0070] Specifically, this embodiment provides a rapid method for detecting the connectivity of AGV maps, such as... Figure 2 As shown, it includes the following steps:
[0071] S1: Number all nodes on the AGV map. i If these nodes form a set U, then the node set U satisfies the following equation:
[0072] U = {D1, D2, ..., D} i D n-1 D n},
[0073] Where n represents the number of nodes in the node set U.
[0074] S2: Using the node set U as a range, select any node as the starting node s0, and use the A* algorithm to find all nodes connected to the starting node. Please combine this with... Figure 3 The approach to finding connected nodes with any starting node in this embodiment is as follows:
[0075] First, find the adjacent nodes that the starting node can directly reach and record them as adjacent nodes. Then, determine whether these adjacent nodes can return to the starting node. If so, they are identified as connected nodes of the starting node and named as first-level connected nodes of the starting node.
[0076] Next, taking each level 1 connected node as a starting node, find the nodes that these new starting nodes can directly reach and mark them as adjacent nodes of the level 1 connected nodes. Then, use the A* algorithm to determine the connectivity between the adjacent nodes of the level 1 connected nodes and the level 1 connected nodes. If they are connected, then these points are not only connected nodes of the level 1 connected nodes, but also connected nodes of the original starting node of the previous level, because the original starting node and the adjacent nodes of the level 1 connected nodes can be indirectly reached from each other by using the level 1 connected nodes as pathway nodes. That is: mark the adjacent nodes connected to the starting node s0 as level 1 connected nodes; mark the adjacent nodes connected to the level 1 adjacent nodes as level 2 connected nodes; then, from any level N connected node to the starting node s0, there exists at least the following return path: "Level N connected node → Level N-1 connected node → ... → Level 2 adjacent node → Level 1 adjacent node → Starting node s0".
[0077] Similarly, by using a "tree-like hierarchical expansion" method, all nodes connected to a given starting node can be found in the entire AGV diagram.
[0078] Specifically, such as Figure 4 As shown, the connected point search process in this embodiment is detailed as follows:
[0079] S21: Assign a category label M1 to the starting node s0.
[0080] S22: Obtain all adjacent nodes of the starting node S0 from the node set U to form an adjacent node set. In this invention, an adjacent node refers to a node that can be directly reached from the starting node.
[0081] S23: Use any pathfinding algorithm A* to find the return path from each neighboring node in the set of neighboring nodes to the starting node S0.
[0082] S24: If the returned path is successfully obtained, classify the node and the starting node S0 into the same category and add the category label M1 to it.
[0083] S25: Take each node in the set of adjacent nodes as the starting node of the next round, and obtain all nodes in the adjacent nodes of the starting node that have not been marked, to form the set of adjacent nodes of the next level.
[0084] S26: Repeat the above steps to find the next level of adjacent nodes that are connected to the current starting node, and add the category label M1; until the set of adjacent nodes at the last level is empty.
[0085] S27: Obtain all nodes labeled M1, forming a connected node set U1.
[0086] S3: After obtaining the set of connected nodes centered on a certain point, continue processing the remaining nodes in the node set U of the AGV map using the same method to obtain other connected node sets. That is: take the set of remaining nodes in node set U that do not belong to any connected node set as the new range, randomly select one node from the new range as the new starting node, and repeat step S2 to obtain a new set of connected nodes U again. i And assign a new category label M to all nodes in the same set of connected nodes. i .
[0087] In step S2, for any node D in the node set U... i The node after adding the category label M1 is denoted as (D). i ,M1); Here, (D i M1) is a representation node D i The array of categories, M1 is D. i The category.
[0088] Therefore, the set of connected nodes U contains multiple interconnected nodes. i The data format is as follows:
[0089] U i ={(D1, M i ), (D2, M i ), ..., (D m-1 M i ), (D m M i )};
[0090] In the above formula, nodes D1 to D2 m The category label is M. i m is the set of connected nodes U i The number of nodes contained therein, and satisfying: m≤n.
[0091] S4: In utilizing Figure 3 In the process of finding the connected points of the starting node using the method shown, there may be a situation where a certain central node has no connected points. For this special case, this embodiment assigns a new category label to the isolated nodes in the node set U that do not belong to any connected node set, and then each isolated node constitutes a single node set.
[0092] Therefore, a single-node set U containing only one node j The data format is as follows:
[0093] U j ={(D j M j )}.
[0094] In this embodiment, a category label is added to each node while performing connectivity analysis. This completes the clustering process based on connectivity. After clustering, this embodiment yields several sets of connected nodes containing multiple nodes and several sets of single nodes containing only one node.
[0095] S5: Connect the set of nodes U with the same category label. i The corresponding region is denoted as a connected subgraph T. i Generate all connected subgraphs contained in the AGV map. Each connected subgraph T i The data format is as follows:
[0096]
[0097] In the above formula, V i Let U represent the set of all nodes with the same category label, satisfying: U = ∑V i .
[0098] Then, upon receiving any query request, the connectivity between any two nodes x and y is determined as follows:
[0099] (1) When x and y belong to the same connected subgraph, it means that the two nodes are connected to each other.
[0100] (2) When x and y belong to different connected subgraphs, it means that the two nodes are not connected to each other.
[0101] (2) If either of the nodes x and y belongs to a set of single nodes, it means that the node is not connected to any other node.
[0102] Specifically, based on the results of the connectivity determination, this embodiment further performs the following decision:
[0103] (4) When two nodes in a query request issued by the scheduling system are connected to each other, only the corresponding reminder is issued.
[0104] (5) When two nodes in a query request issued by the scheduling system are not connected to each other, the system sends the corresponding other nodes in the connected subgraphs to which the two nodes belong to the scheduling system simultaneously with the notification. The additional nodes provided that belong to the same connected subgraph as the starting point can be used as a basis for the scheduling system to modify the ending point, and vice versa.
[0105] (6) When any node in a query request issued by the scheduling system belongs to a single-node set, the scheduling system is notified that the node is not connected to any other node. For example, if the scheduling system is notified that the node corresponding to the starting point belongs to a single-node set, it means that the starting point cannot be reached, and the scheduling system should modify the starting point. If the scheduling system is notified that the node corresponding to the ending point belongs to a single-node set, it means that the ending point cannot be reached, and the scheduling system should modify the ending point.
[0106] In the practical application of this embodiment, the pathfinding algorithm A* can be used to check the connectivity between every two nodes. The tasks of finding connected node sets and adding category labels in steps S3 and S4 are treated as a clustering task, and the DBSCAN algorithm is used to complete the clustering. The clustering process is as follows:
[0107] (1) Set a global variable ID, ID = 0; create a map data structure based on the node set U, where the key value of the global variable ID is the node number D. i The value is the cluster ID of the node. Initialize the cluster ID of all nodes to 0, indicating that they are not clustered.
[0108] (2) Select a node and check if the node already has a cluster number id>0. If it has been clustered, go to (6);
[0109] (3) Increment the global variable ID = ID + 1, and set the current node's tag to id = ID;
[0110] (4) Use the path finding algorithm A* to find all connected nodes from the adjacent nodes of the current node, forming a set of connected nodes B;
[0111] (5) Traverse all nodes in B. If a node has not been checked, set the node's tag to id, find the set of connected adjacent nodes B' of the node, and merge B' into B. Then check the next element in B until all elements in B have been checked.
[0112] (6) Select the next node from the map data structure until the cluster number id of all nodes in the map is not 0.
[0113] Example 2
[0114] This embodiment provides an AGV map connectivity query system, which employs the fast map connectivity detection method as described in Embodiment 1. It pre-establishes a database characterizing the connectivity between nodes in the map and responds to node connectivity query requests issued by the scheduling system based on this database. Figure 5As shown, the AGV map connectivity query system includes: a map information extraction module, a connectivity analysis module, a clustering module, a connected subgraph database generation module, and a query module.
[0115] The map information extraction module is used to convert the physical map into graph structure data. The graph structure data contains several encoded nodes, and all the nodes constitute the node set of the current map.
[0116] The connectivity analysis module is used to obtain all adjacent nodes of each starting node and use the path finding algorithm A* to find the return path from the adjacent nodes to the starting node. Then, the starting node and all adjacent nodes with return paths to the starting node are added to the connected node set.
[0117] The clustering module calls the connectivity analysis module to group all nodes in the current map's node set that have a return path to the starting node, or a return path to a node connected to the starting node, into the same cluster. Nodes in the current map's node set that are not connected to any other node are grouped into a separate cluster. Each node in each cluster is assigned a unique cluster number.
[0118] The connected subgraph database generation module is used to treat each independent region in the map containing all nodes with the same cluster number as a connected subgraph, and generate a database representing statistical information of all connected subgraphs in the map and their nodes.
[0119] The query module is used to obtain query requests issued by the scheduling system, extract the start point and end point contained in the query request, and determine the corresponding nodes of the start point and end point in the node set. Then, it matches the nodes corresponding to the start point and end point in the query request with each connected subgraph; and outputs the following return information: (1) When the start point and end point belong to the same connected subgraph, a prompt message indicating that they are connected to each other is issued. (2) When the start point and end point belong to different connected subgraphs, a prompt message indicating that they are not connected to each other is issued, and the information of other nodes in the connected subgraph to which the start point and / or end point belong is returned to the scheduling system. (3) When the start point belongs to a connected subgraph with only one node, a prompt message indicating that the start point position cannot be started is issued to the scheduling system. (4) When the end point belongs to a connected subgraph with only one node, a prompt message indicating that the end point position cannot be reached is issued to the scheduling system.
[0120] Example 3
[0121] This embodiment provides an AGV map connectivity query device, which includes a memory, a processor, and a computer program stored in the memory and executable on the processor. When the processor executes the computer program, it creates a database and a query module portion of the AGV map connectivity query system as described in Embodiment 2; thereby enabling a response to query requests from the scheduling system.
[0122] This AGV map connectivity query device is essentially a computer device for data processing and instruction generation, including a memory, a processor, and a computer program stored in the memory and executable on the processor. The computer device provided in this embodiment can be a smart terminal, tablet computer, laptop computer, desktop computer, rack server, blade server, tower server, or cabinet server (including standalone servers or server clusters composed of multiple servers), etc. The computer device in this embodiment includes, but is not limited to, a memory and a processor that can be interconnected via a system bus.
[0123] In this embodiment, the memory (i.e., the readable storage medium) includes flash memory, hard disk, multimedia card, card-type memory (e.g., SD or DX memory), random access memory (RAM), static random access memory (SRAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), programmable read-only memory (PROM), magnetic memory, disk, optical disk, etc. In some embodiments, the memory may be an internal storage unit of a computer device, such as the hard disk or RAM of the computer device.
[0124] In other embodiments, the memory can also be an external storage device of the computer device, such as a plug-in hard drive, Smart Media Card (SMC), Secure Digital (SD) card, or Flash Card. Of course, the memory can also include both internal storage units and external storage devices of the computer device. In this embodiment, the memory is typically used to store the operating system and various application software installed on the computer device. Furthermore, the memory can also be used to temporarily store various types of data that have been output or will be output.
[0125] In some embodiments, a processor may be a central processing unit (CPU), a graphics processing unit (GPU), a controller, a microcontroller, a microprocessor, or other data processing chip. The processor is typically used to control the overall operation of a computer device. In this embodiment, the processor is used to run program code stored in memory or process data.
[0126] Example 4
[0127] This embodiment provides an AGV that employs the AGV map connectivity query device as described in Embodiment 3. After adopting the new AGV map connectivity query device from Embodiment 3, as shown... Figure 6 As shown, each time the AGV's automatic navigation module receives a transportation task containing a start point and an end point, it first queries a pre-generated dataset related to connected subgraphs and determines whether the start point and end point belong to the same connected subgraph. If they belong to the same connected subgraph, the task is accepted, and the A-Star algorithm is used to complete path planning. If they do not belong to the same connected subgraph, the module further queries whether the connected subgraphs containing the start point and end point are single-node sets. If the start point belongs to a single-node set, the task is rejected, and a message is displayed indicating that the current start point cannot depart, while waiting for the scheduling system to modify the start point information. If the end point belongs to a single-node set, the task is rejected, and a message is displayed indicating that the current end point cannot be reached, while waiting for the scheduling system to modify the end point information. If neither the start point nor the end point belongs to a single-node set, the task is rejected, and the remaining nodes in the connected subgraphs to which the start point and end point belong are sent to the scheduling system, waiting for the scheduling system to modify the start point or end point information.
[0128] Performance testing
[0129] To verify the effectiveness of the rapid detection method for AGV map connectivity provided by this invention, a corresponding test experiment was first designed. The experimental process is as follows: Figure 7 The AGV map shown is the test object. It is clustered using the method in Example 1, and then responds to the connectivity check request between any two nodes issued by the scheduling system based on the clustering results.
[0130] Specifically, Figure 7 The AGV map includes 12 nodes, from 0 to 11. The nodes in the sets {0,1,2,3,4,5} and {8,9,10,11} are interconnected, forming two connected subgraphs with multiple nodes. Nodes 6 and 7 are isolated nodes, not connected to any other nodes.
[0131] Finally, the clustering results of the AGV map obtained by the method in this embodiment are as follows: Figure 8 As shown, Figure 8In this context, nodes of the same shape belong to the same cluster. (Analysis) Figure 8 The data reveals that the square clusters contain elements {0, 1, 2, 3, 4, 5}, which are interconnected; the star-shaped clusters contain elements {8, 9, 10, 11}, which are also interconnected. The circular cluster {7} and the triangular cluster {6} are isolated points. In summary, the clustering results of this invention are consistent with the actual situation, thus confirming the effectiveness of this invention.
[0132] The above description is only a preferred embodiment of the present invention and is not intended to limit the present invention. Any modifications, equivalent substitutions, and improvements made within the spirit and principles of the present invention should be included within the protection scope of the present invention.
Claims
1. A rapid method for detecting the connectivity of AGV maps, characterized in that, It includes the following steps: S1: Number all nodes on the AGV map. i , forming a node set U; S2: Taking the set of nodes U as the range, select any node as the starting node s0, and find all nodes that are connected to the starting node. The process is as follows: S21: Assign a category label M1 to the starting node s0; S22: Obtain all adjacent nodes of the starting node S0 from the node set U to form an adjacent node set; The adjacent node refers to a node that can be directly reached from the starting node; S23: Using any pathfinding algorithm A*, find the return path from each neighboring node in the set of neighboring nodes to the starting node S0; S24: If the returned path is successfully obtained, classify the node and the starting node S0 into the same category and add the category label M1 to it; S25: Take each node in the set of adjacent nodes as the starting node of the next round, and obtain all nodes in the adjacent nodes of the starting node that have not been marked, to form the set of adjacent nodes of the next level. S26: Repeat the above steps to find the next level of adjacent nodes that are connected to the current starting node, and add the category label M1; until the set of adjacent nodes at the last level is empty; S27: Obtain all nodes labeled as category M1, forming a connected node set U1; S3: Using the set of remaining nodes in the node set U that do not belong to any connected node set as the new range, randomly select one node from the new range as the new starting node, and repeat step S2 to obtain a new connected node set U. i And assign a new category label M to all nodes in the same set of connected nodes. i ; S4: Assign a new category label to isolated nodes in the node set U that do not belong to any connected node set, and then the isolated nodes constitute a single node set; The task of finding connected node sets and adding cluster category labels in steps S3 and S4 is taken as a clustering task, and the DBSCAN algorithm is used to complete the clustering; the clustering process is as follows: (1) Set a global variable ID, ID=0; create a map data structure based on the node set U, where the key value of the global variable ID is the node number D. i The value is the cluster ID of the node. Initialize the cluster ID of all nodes to 0, indicating that they are not clustered. (2) Select a node and check if the node already has a cluster number id>0. If it has been clustered, go to (6). (3) Increment the global variable ID = ID + 1, and set the current node's tag to id = ID; (4) Use the path finding algorithm A* to find all connected nodes from the adjacent nodes of the current node, forming a set of connected nodes B; (5) Traverse all nodes in B. If a node has not been checked, set the node's tag to id, find the set of connected adjacent nodes B' of the node, and merge B' into B; then check the next element in B until all elements in B have been checked. (6) Select the next node from the map data structure until the cluster number id of all nodes in the map is not 0; S5: Connect the set of nodes U with the same category label. i The corresponding region is denoted as a connected subgraph T. i Generate all connected subgraphs contained in the AGV map; and upon receiving any query request, make the following judgment on the connectivity of any two nodes x and y: (1) When x and y belong to the same connected subgraph, it means that the two nodes are connected to each other; (2) When x and y belong to different connected subgraphs, it means that the two nodes are not connected to each other; (2) If any node in x and y belongs to a set of single nodes, it means that the node is not connected to any other node.
2. The rapid detection method for AGV map connectivity as described in claim 1, characterized in that: In step S1, the data format of the node set U is as follows: U = {D1, D2, ..., D...} i D n-1 D n }, where n represents the number of nodes in the node set U.
3. The rapid detection method for AGV map connectivity as described in claim 1, characterized in that: In step S2, adjacent nodes connected to the starting node s0 are denoted as level 1 connected nodes; adjacent nodes connected to level 1 connected nodes are denoted as level 2 connected nodes. Therefore, there exists at least one return path from any level N connected node to the starting node s0 as follows: "Level N connected node..." N-1 level connected points ... Level 2 Adjacency Level 1 Adjacency "Starting node s0".
4. The rapid detection method for AGV map connectivity as described in claim 3, characterized in that: In step S2, for any node D in the node set U... i The node after adding the category label M1 is denoted as (D). i M1); but: In step S3, the set U of connected nodes contains multiple interconnected nodes. i The data format is as follows: U i ={(D1,M i ),(D2,M i ),…,(D i ,M i ),…,(D m-1 ,M i ),(D m ,M i )}; In the above formula, the category label of nodes D1~Dm is M. i m is the set of connected nodes U i The number of nodes contained therein, m≤n; In step S4, a single-node set U containing only one node... j The data format is as follows: U j ={(D j ,M j )}。 5. The rapid detection method for AGV map connectivity as described in claim 4, characterized in that, Each connected subgraph T in step S5 i The data format is as follows: In the above formula, Let represent the set of all nodes with the same category label, satisfying: .
6. The rapid detection method for AGV map connectivity as described in claim 1, characterized in that: In step S5, When two nodes in a query request issued by the scheduling system are connected to each other, a corresponding alert is issued. When two nodes in a query request issued by the scheduling system are not connected to each other, the system will send the other nodes in the connected subgraph to which the two nodes belong to the scheduling system at the same time as issuing the reminder. When any node in a query request issued by the scheduling system belongs to a single-node set, the system sends a message indicating that the node is not connected to any other node.
7. A system for querying the connectivity of AGV maps, characterized in that, It adopts the fast detection method of AGV map connectivity as described in any one of claims 1-6, pre-establishes a database characterizing the connectivity between each node in the map, and combines the database to respond to the query request for connectivity between nodes issued by the scheduling system. The AGV map connectivity query system includes: The map information extraction module is used to convert the physical map into graph structure data, which contains several encoded nodes, and all the nodes constitute the node set of the current map. The connectivity analysis module is used to obtain all adjacent nodes of each starting node and use the path finding algorithm A* to find the return path from the adjacent nodes to the starting node. Then, the starting node and all adjacent nodes with return paths to the starting node are added to the connected node set. The clustering module calls the connectivity analysis module to group all nodes in the current map's node set that have a return path to the starting node or a connected node to the starting node into the same cluster; it also groups nodes in the current map's node set that are not connected to other nodes into a separate cluster; and it assigns a unique cluster number to all nodes in each cluster. The connected subgraph database generation module is used to treat each independent region in the map containing all nodes with the same cluster number as a connected subgraph, and generate a database representing statistical information of all connected subgraphs in the map and the nodes within them. The query module is used to obtain the query request issued by the scheduling system, extract the start point and end point contained in the query request of the scheduling system, and determine the corresponding nodes of the start point and end point in the node set; then match the nodes corresponding to the start point and end point in the query request with each connected subgraph; and output the following return information: (1) When the start point and end point belong to the same connected subgraph, a prompt message indicating that the two are connected to each other is issued; (2) When the start point and end point belong to different connected subgraphs, a prompt message indicating that the two are not connected to each other is issued, and the information of other nodes in the connected subgraph to which the start point and / or end point belong is returned to the scheduling system; (3) When the start point belongs to a connected subgraph with only one node, a prompt message indicating that the start point position cannot be started is issued to the scheduling system; (4) When the end point belongs to a connected subgraph with only one node, a prompt message indicating that the end point position cannot be reached is issued to the scheduling system.
8. A device for querying the connectivity of an AGV map, comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that: When the processor executes the computer program, it creates a portion of the database and query module in the AGV map connectivity query system as described in claim 7; thereby enabling a response to query requests from the scheduling system.
9. An AGV, characterized in that, It employs the AGV map connectivity query device as described in claim 8.
Citation Information
Patent Citations
Connectivity detection method and system, storage medium and terminal
CN107754312A
PRM route planning method based on AIS data
CN115060264A
Power graph database query acceleration method based on graph division and node routing
CN116484058A