Path planning method and computing device
By dividing the road network map into M regions and determining the starting and ending points of terminal devices, and combining global and local path planning, the problem of low efficiency in large-scale path planning is solved, and efficient and accurate path planning is achieved.
Patent Information
- Application Number
- CN202410865569.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2024-05-21
- Filing Date
- 2024-06-28
- Publication Date
- 2025-11-21
AI Technical Summary
Existing path planning algorithms struggle to handle and optimize large-scale path planning problems in real time in smart warehousing and smart manufacturing environments, resulting in limited system performance and efficiency.
By dividing the road network map into M regions, selecting N regions, and determining the starting and ending points of terminal devices in each region, and combining global and local path planning, the efficiency of path planning is improved.
It enables efficient and accurate partitioning of road network maps of arbitrary size and complexity, improves the efficiency and accuracy of route planning, and ensures the repeatability and scalability of the partitioning results.
Smart Images

Figure CN120991894A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of path planning technology, and more specifically, to a path planning method and computing device. Background Technology
[0002] With the rapid development of smart warehousing and smart manufacturing technologies, smart terminal devices are increasingly widely used in automated production lines and warehouses. These systems require efficient, accurate, and real-time path planning algorithms to ensure safe and effective collaboration between smart terminal devices. However, in modern smart warehousing and smart manufacturing environments, the number of smart terminal devices and their working areas are typically very large, and the map size also increases accordingly. This makes it difficult for existing path planning algorithms for smart terminal devices to handle and optimize large-scale path planning problems in real time, thus limiting the system's performance and the efficiency of path planning.
[0003] Therefore, a path planning method is needed to improve the efficiency of path planning. Summary of the Invention
[0004] This application provides a path planning method that can improve the efficiency of path planning.
[0005] In a first aspect, a path planning method is provided, comprising: acquiring first information, the first information being used to indicate the starting position and target position of a terminal device in a road network map; determining N regions in M regions of the road network map based on the first information, and the starting point and ending point of the terminal device in each of the N regions, wherein the N regions are the regions that the terminal device needs to pass through to reach the target position from the starting position; determining the path of the terminal device in each of the N regions based on the starting point and ending point of the terminal device in each of the N regions; and outputting the target path of the terminal device, wherein the target path includes the path of the terminal device in each of the N regions.
[0006] In this embodiment of the application, M is an integer greater than 1, and N is a positive integer less than or equal to M.
[0007] For example, the "road network map" in this application embodiment can be understood as a node topology map of the target area after mapping roads and / or static obstacles.
[0008] In this application, "terminal device" can refer to one or more terminal devices. It can also be understood that in the embodiments of this application, multiple terminal devices can simultaneously select N regions from M regions.
[0009] Based on the above technical solution, in this embodiment of the application, by dividing the road network map into M regions, selecting N regions for the terminal device based on the M regions, and determining the starting point and ending point of the terminal device in each of the N regions, and then planning the path of the terminal device in each of the N regions, the efficiency of path planning can be improved.
[0010] Specifically, in this embodiment, the road network map can be divided into inter-regional path planning and intra-regional path planning, thereby achieving parallel computation and optimizing system performance. Furthermore, the combination of global and local path planning improves the accuracy of path planning.
[0011] In this embodiment of the application, dividing the road network map into M regions may include the following implementation methods: In one possible implementation, an existing solution can be used to directly divide the road network map into M regions. In another possible implementation, the M regions of the road network map can be determined based on the second information.
[0012] In conjunction with the first aspect, in one possible implementation, the method further includes: obtaining second information, which includes node information corresponding to the road network map and the number M regions that the road network map needs to be divided into, wherein the node information is used to indicate the location of each node and the distance between each node and each of its neighboring nodes, and each of the M regions includes at least one node; and determining the M regions of the road network map based on the second information.
[0013] For example, the node information corresponding to the road network map could be: {Node #0: (0, 0), Node #0's neighboring nodes: [(Node #1, 10), (Node #2, 4)]}. This node information can indicate the location of node #0, the neighboring nodes of node #0 (i.e., node #1, node #2), and the distance between node #0 and each neighboring node (for example, the distance between node #0 and neighboring node #1 is 10, and the distance between node #0 and neighboring node #2 is 4).
[0014] In conjunction with the first aspect, in one possible implementation, based on the second information, determining M regions of the road network map includes: merging at least two adjacent nodes in the road network map into one node to generate a coarse road network map, wherein the number of nodes included in the coarse road network map is less than the number of nodes included in the road network map; determining the coarse road network map into M regions based on the required number of regions M and the number of nodes included in the coarse road network map; and restoring each merged node in each of the M regions determined by the coarse road network map into multiple nodes to generate a road network map, wherein the road network map comprises M regions.
[0015] For example, multiple adjacent nodes that are close to each other in a road network map can be merged into one node to generate a coarser road network map.
[0016] Existing road network delineation methods mostly rely on manual division, which not only consumes a lot of manpower and resources, but also makes it difficult to guarantee the consistency and efficiency of the division, especially when dealing with large-scale or complex road network maps. Based on the above technical solutions, the map delineation method provided in this application can achieve efficient and accurate division of road network maps of any size and complexity, ensuring the repeatability and scalability of the division results.
[0017] In conjunction with the first aspect, in one possible implementation, the method further includes: adjusting the boundaries between the regions in the M regions of the road network map, and generating the adjusted M regions, wherein the edge cuts between the regions in the adjusted M regions are less than or equal to the edge cuts between the regions in the original M regions.
[0018] For example, the node replacement method can be used to adjust the boundaries between the M regions identified in the road network map.
[0019] Based on the above technical solution, in this embodiment of the application, by adjusting the boundaries between various regions, the regions of the divided road network map can be made more refined, reasonable, and accurate. For example, when there are many terminal devices and most of the terminal devices' target paths need to cross multiple regions, if the edge cuts between the regions in the M regions of the road network map can be adjusted during map division, the number of terminal devices passing through the region boundaries can be relatively balanced when planning paths for each terminal device, making the path planning more reasonable.
[0020] In conjunction with the first aspect, in one possible implementation, determining N regions in M regions of the road network map based on the first information includes: determining at least two region sets based on the determined M regions of the road network map and the first information, each of the at least two region sets including at least one region, and the at least one region included in each region set being the region that the terminal device needs to pass through when it reaches the target location from the starting location; and determining a target region set based on the at least two region sets, wherein the target region set includes N regions.
[0021] For example, the central server may determine one of the at least two region sets as the inter-region path for the terminal device based on a path algorithm or other pre-configured rules.
[0022] In conjunction with the first aspect, in one possible implementation, determining the target region set based on at least two region sets includes: determining the location corresponding to at least one region included in each region set; determining the total distance between at least one region included in each region set based on the location corresponding to at least one region included in each region set; and determining the target region set based on the total distance between at least one region included in each region set.
[0023] Based on the above scheme, in this embodiment of the application, a relatively optimal set of regions (e.g., the set of regions with the shortest distance between each region) can be determined from multiple set of regions using a path planning algorithm, so that the terminal device can reach the target location more conveniently from the starting position.
[0024] In conjunction with the first aspect, in one possible implementation, the method includes: obtaining a region division rule, which indicates N regions that a terminal device needs to pass through when reaching a target location from a starting position in M regions; determining N regions in the M regions of the road network map based on first information, including: determining N regions in the M regions of the road network map based on the region division rule.
[0025] It can also be understood that, in this embodiment of the application, the N regions can be determined according to pre-configured rules, which are used to indicate the N regions that the terminal device needs to pass through when it reaches the target location from the starting position in the M regions.
[0026] For example, the rule can be manually pre-configured or pre-defined. For instance, after the graph is partitioned, considering the working efficiency, nature of work, and characteristics of the terminal device, the N regions that the terminal device needs to traverse can be manually pre-configured.
[0027] Based on the above technical solution, in this embodiment of the application, after the road network map is divided, the corresponding set of regions can be directly selected for the terminal device based on manually pre-configured rules, without the need to use a path algorithm to determine the set of regions for the terminal device. For example, in certain special scenarios, the set of regions can be directly specified manually, thereby improving the flexibility and freedom of path planning for the terminal device.
[0028] In conjunction with the first aspect, in one possible implementation, the starting point of the terminal device in each of the N regions is the starting position of the terminal device, or the starting point of the terminal device in each of the N regions is the position on the boundary between two adjacent regions; the ending point of the terminal device in each of the N regions is the ending position of the terminal device, or the ending point of the terminal device in each of the N regions is the position on the boundary between two adjacent regions.
[0029] In conjunction with the first aspect, in one possible implementation, the path of the terminal device in each of the N regions is determined based on the starting point and ending point of the terminal device in each of the N regions, including: determining the path of the terminal device in each of the N regions based on the starting point and ending point of the terminal device in each of the N regions, and the corresponding node information of each of the N regions.
[0030] In conjunction with the first aspect, in one possible implementation, the method is applied to a cloud service system, which includes a cloud management platform for managing the infrastructure that provides cloud services. The infrastructure includes at least one cloud data center, and each of the at least one cloud data center includes at least one server storing first information and second information.
[0031] Secondly, this application proposes a computing device for performing the method described in the first aspect. Specifically, the device may include units and / or modules for performing the path planning method proposed in this application, such as a path planning module and an output module. In this application, the computing device can also be applied to a cloud service system.
[0032] Thirdly, this application provides a computing device comprising: at least one processor for executing a computer program or instructions stored in a memory to perform the method described in the first aspect. Optionally, the device further comprises a memory for storing the computer program or instructions. Optionally, the device further comprises a communication interface through which the processor reads the computer program or instructions stored in the memory.
[0033] In one implementation, the computing device is a device for implementing the functions of the above-described method in a chip.
[0034] In another implementation, the computing device is a chip, chip system, or circuit used to implement the functions described above in a chip.
[0035] Fourthly, this application provides a processor, including: an input circuit, an output circuit, and a processing circuit. The processing circuit is used to receive signals through the input circuit and to transmit signals through the output circuit, causing the processor to execute the method described in the first aspect.
[0036] In specific implementation, the processor can be one or more chips, the input circuit can be input pins, the output circuit can be output pins, and the processing circuit can be transistors, gate circuits, flip-flops, and various logic circuits. The input signal received by the input circuit can be received and input by, for example, but not limited to, a transceiver, and the signal output by the output circuit can be, for example, but not limited to, output to and transmitted by a transmitter. Furthermore, the input circuit and the output circuit can be the same circuit, which is used as both the input circuit and the output circuit at different times. This application does not limit the specific implementation of the processor and various circuits.
[0037] Unless otherwise specified, or if it does not contradict its actual function or internal logic in the relevant description, the transmission and acquisition / reception operations involved in the processor can be understood as processor output and reception, input and other operations, or as transmission and reception operations performed by radio frequency circuits and antennas. This application does not limit them in this regard.
[0038] Fifthly, a processing apparatus is provided, including a processor and a memory. The processor is used to read instructions stored in the memory and to receive signals via a transceiver and transmit signals via a transmitter to execute the method described in the first aspect.
[0039] Optionally, the processor may be one or more, and the memory may be one or more.
[0040] Optionally, the memory may be integrated with the processor, or the memory may be separated from the processor.
[0041] In specific implementation, the memory can be a non-transitory memory, such as read-only memory (ROM), which can be integrated with the processor on the same chip or set on different chips. The embodiments of this application do not limit the type of memory or the way the memory and processor are set.
[0042] It should be understood that the relevant data interaction process, such as sending the first information, can be the process of the processor outputting the first information, and the receiving capability information can be the process of the processor receiving input capability information. Specifically, the data output by the processor can be sent to the transmitter, and the input data received by the processor can come from the transceiver. Here, the transmitter and the transceiver can be collectively referred to as the transceiver.
[0043] The processing device mentioned in the fifth aspect above can be one or more chips. The processor in the processing device can be implemented in hardware or software. When implemented in hardware, the processor can be a logic circuit, integrated circuit, etc.; when implemented in software, the processor can be a general-purpose processor that reads software code stored in memory. This memory can be integrated into the processor or located outside the processor and exist independently.
[0044] In a sixth aspect, a computing cluster is provided, including at least one computing device, each computing device including a processor and a memory; the processor of the at least one computing device is configured to execute instructions stored in the memory of the at least one computing device, such that the computing device cluster performs the method described in any possible implementation of the first aspect.
[0045] Optionally, the processor can be a general-purpose processor, which can be implemented in hardware or software. When implemented in hardware, the processor can be a logic circuit, integrated circuit, etc.; when implemented in software, the processor can be a general-purpose processor that reads software code stored in memory. This memory can be integrated into the processor or located outside the processor and exist independently.
[0046] In a seventh aspect, a computer-readable storage medium is provided that stores program code for execution by a device, the program code including the method described in the first aspect.
[0047] Eighthly, a computer program product containing instructions is provided, which, when run on a computer, causes the computer to perform the method described in the first aspect.
[0048] A ninth aspect provides a chip system including a processor for calling and running a computer program from a memory, causing a device equipped with the chip system to perform the method of the first aspect described above. Attached Figure Description
[0049] Figure 1 This is a schematic block diagram of a system architecture provided in an embodiment of this application.
[0050] Figure 2 This is a schematic flowchart of a path planning method 200 provided in an embodiment of this application.
[0051] Figure 3 This is a schematic diagram of a graph partitioning process provided in an embodiment of this application.
[0052] Figure 4 This is a schematic diagram of an inter-regional path planning method provided in an embodiment of this application.
[0053] Figure 5 This is a schematic flowchart of a path planning method 500 provided in an embodiment of this application.
[0054] Figure 6 This is a schematic diagram of a cloud service system framework applicable to the embodiments of this application.
[0055] Figure 7 This is a schematic block diagram of the computing device 700 provided in the embodiments of this application.
[0056] Figure 8 This is a schematic block diagram of a computing device 800 provided in an embodiment of this application.
[0057] Figure 9 This is a schematic diagram of the architecture of a computing device cluster provided in an embodiment of this application.
[0058] Figure 10 This is a schematic diagram showing the connection between computing devices 900A and 900B via a network provided in an embodiment of this application. Detailed Implementation
[0059] The technical solutions in this application will now be described with reference to the accompanying drawings.
[0060] To facilitate understanding of the technical solution of this application, the following section will first introduce some of the technical terms involved in this application.
[0061] 1. Road network
[0062] A "road network" refers to a network of interconnected roads within a defined area. For example, a road network consisting entirely of highways of various levels is called a highway network; similarly, a road network within a city is called an urban road network. A road can be divided into at least one segment unit, and a two-dimensional road network map can include two-dimensional data of at least one road segment unit. Roads here include, but are not limited to, urban roads, expressways, auxiliary roads, viaducts, and interchanges.
[0063] For example, a road network includes: a road network coordinate system, road network points, road segments, parking spaces, static obstacles, parking observation point charging equipment, sensing equipment, etc.
[0064] 2. Graph matching
[0065] Graph matching is an algorithm used to compare and identify similar parts in a graph structure. In the context of route planning and map processing, graph matching is often used to simplify complex or large-scale graph structures into simpler, more tractable forms. Graph matching algorithms attempt to find similar subgraphs or nodes in two or more graphs and merge or optimize them to reduce graph complexity and computational burden. Applications of graph matching in route planning include road network simplification, region partitioning, and topology graph construction, which help improve the efficiency and accuracy of route planning.
[0066] 3. Adjacent nodes
[0067] In a graph, if there is an edge between two vertices, then those two vertices are adjacent nodes. This concept applies to both undirected and directed graphs. In an undirected graph, if there is an edge between vertex v and vertex w, then vertices v and w are adjacent nodes. In a directed graph, if there is an edge from vertex i to vertex j, then vertices i and j are called the starting and ending endpoints, respectively, meaning they are adjacent nodes. The concept of adjacent nodes is one of the fundamental concepts in graph theory, used to describe the direct connections between vertices in a graph.
[0068] 4. Edge cut set
[0069] In graph theory, an "edge cut set" can be understood as follows: for a connected set of edges A, if removing all edges from A transforms the original graph into a disconnected graph, then this set of edges A is called the original edge cut set. Figure 1 The set of edge cuts with the fewest edges is called the minimum edge cut set, or simply the minimum cut. An "edge cut" can be understood as the number of edges in an edge cut set.
[0070] 5. Node replacement method
[0071] In graph partitioning, the "node permutation method" is a partitioning optimization approach used to adjust the boundaries of partitioned regions to reduce edge cuts between regions. Its core idea is to gradually adjust the distribution of nodes within different regions by directly moving nodes across them, thereby minimizing the number of connecting edges between regions while maintaining a balanced size across all regions (i.e., ensuring minimal edge cuts). This method typically involves optimization strategies such as incremental updates, heuristic permutations, and balance constraints.
[0072] 6. Path planning algorithm
[0073] (1) Dijkstra's Algorithm: Dijkstra's algorithm is an algorithm for finding the shortest path from one node to all other nodes in a graph. This algorithm selects the node with the current shortest path by maintaining a priority queue and continuously updates the shortest path length from the starting node to each node. The advantage of Dijkstra's algorithm is that it can find the shortest path from the starting node to all other nodes in a graph without negative weight edges, but it may take a long time to compute, especially when there are a large number of edges in the graph.
[0074] (2) A-star (also known as A*) algorithm: The A* algorithm is a widely used heuristic search algorithm for path planning and graph search problems. It uses a heuristic function to estimate the cost of the optimal path from the current node to the target node, and selects the next node to expand by comprehensively considering the known optimal path cost (g value) from the starting node to the current node and the heuristically estimated cost (h value) from the current node to the target node. The advantages of the A* algorithm are that it can find the optimal path under an appropriate heuristic function and can run efficiently.
[0075] (3) Breadth-First Search (BFS) Algorithm: BFS, also known as the "breadth-first search" algorithm, is one of the simplest graph search algorithms and is the prototype of many important graph algorithms. Dijkstra's single-source shortest path algorithm and Prim's minimum spanning tree algorithm both adopt similar ideas to BFS. It is also called BFS, and it is a blind search method. Its purpose is to systematically expand and examine all nodes in the graph to find the result. In other words, it does not consider the possible location of the result, thoroughly searching the entire graph until the result is found.
[0076] (4) Conflict-based search (CBS) algorithm: CBS is a conflict-based multi-agent path finding (MAPF) algorithm that provides the globally optimal result for the MAPF problem. This algorithm decomposes the problem into two levels: a bottom level and a top level. At the bottom level, the algorithm searches for an effective path for each agent, while at the top level, the algorithm checks for conflicts between these paths. If a conflict is found, the top-level algorithm imposes constraints and re-searches the path at the bottom level until all paths are conflict-free. This two-level approach enables the CBS algorithm to provide the globally optimal result for the MAPF problem.
[0077] The "terminal device" in this application embodiment can also be described as a "smart terminal device". For example, it can be a wireless terminal in industrial control (e.g., a robot), a wireless terminal in self-driving, a wireless terminal in transportation safety, a wireless terminal in a smart city, a wireless terminal in a smart home (e.g., a robot vacuum cleaner), or a vehicle, etc.
[0078] The technical solutions provided in this application can be applied to scenarios requiring path navigation. For example, path navigation for vehicles or robot paths. They can also be applied to intelligent warehouse management systems, interfacing with modules such as inventory management, order processing, and robot control to enable robots to handle goods. The above application scenarios are merely exemplary, and this application does not limit the scenarios in which this method can be used.
[0079] With the rapid development of smart warehousing and smart manufacturing technologies, smart terminal devices are increasingly widely used in automated production lines and warehouses. These systems require efficient, accurate, and real-time path planning algorithms to ensure safe and effective collaboration between smart terminal devices. However, in modern smart warehousing and smart manufacturing environments, the number of smart terminal devices and their working areas are typically very large, and the map size also increases accordingly. This makes it difficult for existing path planning algorithms for smart terminal devices to handle and optimize large-scale path planning problems in real time, resulting in limited system performance. Therefore, a path planning method is needed to improve the efficiency of path planning.
[0080] In view of this, this application proposes a path planning algorithm, which divides the road network map into M regions, selects N regions for the terminal device based on the M regions, determines the starting point and ending point of the terminal device in each of the N regions, and then plans the path of the terminal device in each of the N regions, which can improve the efficiency of path planning.
[0081] Figure 1 This is a schematic block diagram of a system architecture applicable to embodiments of this application, such as... Figure 1 As shown in the diagram, the system framework mainly includes a central server 110, slave servers 120 (e.g., slave server 120#a1, slave server 120#a2, slave server 120#a3... slave server #120#an), and a console 130. The system architecture also includes terminal devices (e.g., robots).
[0082] For example, the central server 110 can be deployed in a control center or cloud service system architecture, and can be used to handle complex graph partitioning algorithms, dividing the entire road network map into multiple regions. Simultaneously, the central server can be used to handle overall regional-level path planning, providing macro-level navigation instructions to each slave server. For instance, the central server 110 can use path planning algorithms (e.g., A* algorithm, Dijkstra's algorithm) for global path planning.
[0083] For example, each slave server can be deployed near a specific application scenario, such as a warehouse or factory. For instance, each slave server can receive information about divided areas from a central server and manage path planning within its respective area. For instance, each slave server can manage one or more terminal devices and optimize the paths within each area of the terminal devices based on real-time data, thereby ensuring operational efficiency and avoiding path conflicts between robots. For instance, each slave server can use path planning algorithms (e.g., HCA* algorithm or CBS algorithm) for path planning within its area.
[0084] For example, the console 130 can be deployed in a control center or a user-accessible location. For instance, the console serves as a user interface, providing a graphical interface for users to monitor the status of terminal devices (e.g., location, orientation, speed, task information (e.g., "idle," "charging," or "task in progress"), path planning results, perform manual control, and display data. Users can view the robot's operating status in real time through the console and collect, analyze, and display relevant data (e.g., terminal device utilization efficiency (working time / total time), charging time, etc.).
[0085] For example, the terminal device in this application embodiment can directly operate in the application scenario. For instance, the terminal device can be a robot walking in a warehouse aisle or next to a factory production line. For example, the terminal device can execute path instructions sent from the server within a designated area, thereby performing real-time positioning and monitoring of the surrounding environment. The terminal device can report data (e.g., including two types of data: body data and task data. "Body data" includes the terminal device's status, such as its orientation. "Task information" includes the status of goods (e.g., for a handling task), environmental information (e.g., for a detection task), etc.) to the corresponding slave server in real time according to environmental changes, so that the slave server can adjust the path.
[0086] It should be understood that in this application, each slave server can be responsible for path planning within at least one area of at least one terminal device. For example, Figure 1In the system architecture shown, there is one central server, three slave servers, and a total of three regions divided in the road network map, with a total of five terminal devices. For example, assume that slave server 120#a1 can plan routes for the five terminal devices in region #1; slave server 120#a2 can plan routes for the five terminal devices in region #2; and slave server 120#a3 can plan routes for the five terminal devices in region #3.
[0087] For example, Figure 1 The system architecture shown may also include a user interface module, for example, it can be deployed on such as Figure 1 The console 130 shown provides a graphical interface for users to display robot status, path planning results, and provide manual control functions.
[0088] For example, Figure 1 The system architecture shown may also include a data communication module, which can be deployed in all hardware devices to ensure data synchronization and communication between devices, including the transmission of path instructions, status feedback of terminal devices, and so on.
[0089] Figure 2 This is a schematic flowchart of a path planning method 200 provided in an embodiment of this application. The method can be executed by a computing device, or by components of the computing device (such as chips or circuits). For example, the computing device can be a computer.
[0090] It should be noted that method 200 in this application can be executed by a single server (e.g., a computing device) or jointly by multiple servers (e.g., multiple computing devices, including a central computing device and various slave computing devices), such as... Figure 2 As shown, the method includes:
[0091] 210. Obtain first information, which is used to indicate the starting and target positions of the terminal device on the road network map.
[0092] This can also be understood as the first piece of information being used to indicate the predetermined starting and target positions of the terminal device.
[0093] For example, the first information may be user input, or it may be obtained from information about the terminal device stored in a database, or it may be pre-configured, etc. In this embodiment, the method of obtaining the first information is not limited.
[0094] As mentioned above, when the technical solution of this application embodiment is jointly executed by multiple computing devices, step 210 can be executed by the central server.
[0095] 220. Based on the first information, determine N regions in the M regions of the road network map and the start and end points of the terminal devices in each of the N regions.
[0096] In this embodiment of the application, the N regions are the regions that the terminal device needs to pass through when it reaches the target location from the starting position, and N is a positive integer less than or equal to M.
[0097] For example, the "road network map" in this application embodiment can be understood as a node topology map of the target area after mapping roads and / or static obstacles.
[0098] In this application embodiment, "terminal device" can be one or more terminal devices, or it can be understood that in this application embodiment, multiple terminal devices can simultaneously select N regions from M regions.
[0099] As mentioned above, when the technical solution of the embodiments of this application is jointly executed by multiple computing devices, for example, step 220 can be executed by a central server.
[0100] In this embodiment of the application, dividing the road network map into M regions may include the following implementation methods: In one possible implementation, an existing solution can be used to directly divide the road network map into M regions. In another possible implementation, second information is obtained, and the M regions of the road network map are determined based on the second information.
[0101] In this embodiment, the second information includes node information corresponding to the road network map and the number M of regions that the road network map needs to be divided into. The node information is used to indicate the location of each node included in the road network map and the distance between each node and its neighboring nodes. Each of the M regions includes at least one node. In this embodiment, M is an integer greater than 1.
[0102] For example, the node information corresponding to the road network map could be: {Node #0: (0, 0), Node #0's neighboring nodes: [(Node #1, 10), (Node #2, 4)]}. This node information can indicate the location of node #0, the neighboring nodes of node #0 (i.e., node #1, node #2), and the distance between node #0 and each neighboring node (for example, the distance between node #0 and neighboring node #1 is 10, and the distance between node #0 and neighboring node #2 is 4).
[0103] In this embodiment of the application, the number of nodes in the entire road network map can be obtained based on the node information corresponding to the road network map.
[0104] For example, in one possible implementation, the second information may be obtained from the road network map input by the user through the user interface and the number M of areas M that the road network map needs to be divided into. In another possible implementation, the second information may be obtained from a database or file on a server. In this embodiment, M may be specified by the user or configured by the system. In this embodiment, the method of obtaining the second information is not limited.
[0105] In one possible implementation, the road network map can be divided into M regions based on the number of nodes K (K is an integer greater than 1) and the number of regions M to be divided into. For example, each of the M regions includes the following number of nodes: indivual.
[0106] In another possible implementation, at least two adjacent nodes in the road network map can be merged into one node to generate a coarsened road network map, where the number of nodes in the coarsened road network map is less than the number of nodes in the original road network map. Based on the required number of regions M and the number of nodes in the coarsened road network map, the coarsened road network map is divided into M regions. Each merged node in each of the M regions of the coarsened road network map is then restored to multiple nodes to generate another road network map, which consists of M regions (or, in other words, the original road network map is divided into M regions).
[0107] For example, such as Figure 3 As shown, firstly, the central server can coarse the road network map of the warehouse using a graph matching algorithm. For example, based on the graph matching algorithm and the node information corresponding to the road network map, iteratively identify and merge nodes and edges with similar structures and functions in the road network map (e.g., multiple adjacent nodes with close distances can be merged into one node), thus obtaining a coarsened road network map. This process not only helps reduce computational complexity but also improves the execution efficiency of subsequent graph partitioning. It should be understood that in this embodiment, the original road network map can be coarsened multiple times to obtain a coarsened road network map that meets the requirements. Then, the central server can perform initial partitioning on the coarsened road network map. For example, a BFS algorithm can be used to explore each node in the road network map and divide preliminary regions based on the connection relationships between nodes, the number of regions to be partitioned, and the total number of nodes in the road network map. Next, the coarsened road network map divided into M regions can be backtracked for refinement. This can also be understood as restoring the previously merged adjacent nodes into multiple nodes. For example, in this process, node backtracking can be performed iteratively to obtain the road network map before coarsening. It should be noted that after this step, the original road network map has been divided into M regions.
[0108] Existing road network delineation methods mostly rely on manual division, which not only consumes a lot of manpower and resources, but also makes it difficult to guarantee the consistency and efficiency of the division, especially when dealing with large-scale or complex road network maps. The map delineation method provided in this application can achieve efficient and accurate division of road network maps of any size and complexity, ensuring the repeatability and scalability of the division results.
[0109] In one possible implementation, the method further includes: adjusting the boundaries between the regions in the M regions and generating the adjusted M regions, wherein the edge cuts between the regions in the adjusted M regions are less than or equal to the edge cuts between the regions in the original M regions. For example, in this embodiment, a node replacement method can be used to iteratively optimize the M regions of the road network map, gradually adjusting the boundaries (or "passages") of each region to obtain a more refined and reasonable region division.
[0110] In this embodiment, by adjusting the boundaries between different regions, the road network map can be divided into more refined, reasonable, and accurate regions. For example, when there are many terminal devices and most of them need to cross multiple regions for their target paths, adjusting the edge cuts between the M regions during graph partitioning can ensure a more balanced number of terminal devices crossing region boundaries when planning paths for each terminal device, resulting in more reasonable path planning.
[0111] In this embodiment, at least two region sets can be determined based on the M divided regions and the acquired second information. Each of the at least two region sets includes at least one region, and the at least one region included in each region set is the region that the terminal device needs to traverse from the starting position to the target position. Then, a target region set is determined based on the at least two region sets, wherein the target region set includes N regions. For example, a region set can be determined from the at least two region sets as the path between regions of the terminal device based on a path algorithm or other pre-configured rules.
[0112] In one possible implementation, the positions corresponding to at least one region included in each region set are determined, and the total distance between the at least one region included in each region set is determined based on the positions corresponding to the at least one region included in each region set. Based on the total distance between the at least one region included in each region set, a target region set is selected from at least two region sets, wherein the target region set includes N regions. For example, in this implementation, a single-robot path planning algorithm, such as A* or Dijkstra, can be used for global path planning. These algorithms can search for the optimal path globally, ensuring effective navigation of each terminal device from the starting point to the destination. For example, the "positions corresponding to at least one region" can be the center position of each region, such as the coordinates of the center point of the region.
[0113] For example, such as Figure 4 As shown, assuming robot #1's starting position is (12, 11) and its ending position is (28, 13), the central server can plan two paths: path #1: F→B→C→D→H, and path #2: F→G→H. The central server can calculate the total distance between the "centers" of the regions included in each of the two paths. It can be found that the distance between regions in path #2 is less than the distance between regions in path #1. Therefore, the central server ultimately determines that path #2: F→G→H should be chosen for robot #1.
[0114] In another possible implementation, the method includes: obtaining a region division rule for indicating N regions that a terminal device needs to pass through from a starting position to a target position in M regions; and determining N regions in the M regions of the road network map based on first information, including: determining N regions in the M regions of the road network map based on the region division rule.
[0115] In this embodiment, the N regions are determined according to pre-configured rules, which indicate the N regions that the terminal device needs to traverse from its starting position to its target position within the divided M regions. This can also be understood as the rules being pre-configured manually after graph partitioning. For example, after graph partitioning, considering the terminal device's work efficiency, nature of work, and characteristics, the N regions that the terminal device needs to traverse are pre-configured manually. For instance, the manually configured rule might be that robot #2's path is E→A→B, robot #3's path is G→H→D, and robot #4's path is E→B→C→D. This also means that, at this point, there is no need for a central server to select a region for each terminal device; instead, a path is directly selected for each terminal device based on the pre-configured rules, improving the flexibility and freedom of terminal device path planning. For example, a table can be defined in advance. For instance, in M regions, the path of robot #2 can be defined as E→A→B, the path of robot #3 as G→H→D, and the path of robot #4 as E→B→C→D. After that, you only need to look up this table, which can reduce the amount of calculation.
[0116] In this embodiment, the starting point of the terminal device within each region can be the initial position of the terminal device, or the position on the boundary between two adjacent regions. The ending point of the terminal device within each region can be the ending position of the terminal device, or the position on the boundary between two adjacent regions.
[0117] Continue with Figure 4 For example, for region G, the starting point of robot #1 is the position on the boundary between (F, G), and the ending point is the position on the boundary between (G, H). In this embodiment, "position on the boundary" can be a pair of points or a group of points. For example, for the boundary between regions F and G, a point (12, 1) in region F and a point (14, 1) in region G on the boundary constitute a pair of points. Another example is the boundary between regions F and G, where a point (12, 1) in region F and a point (14, 1) in region G, a point (12, 2) in region F and a point (14, 2) in region G, a point (12, 3) in region F and a point (14, 3) in region G, a point (13, 8) in region F and a point (15, 8) in region G, etc. There can be multiple pairs of points on the boundary. Based on these multiple pairs, the boundary between two adjacent regions can be more clearly located, allowing for more precise path planning within the subsequent regions.
[0118] 230. Based on the starting point and ending point of the terminal device in each of the N regions and the corresponding node information of the N regions, determine the path of the terminal device in each of the N regions.
[0119] The solution provided in this application divides the road network map, splitting the path planning of the entire road network map into path planning between regions and path planning within regions, thereby achieving parallel computation and optimizing system performance. Furthermore, by combining global path planning and local path planning, the accuracy of path planning is improved.
[0120] As mentioned above, when the technical solution of this application embodiment is jointly executed by multiple computing devices, for example, step 230 can be executed by each slave server. For example, the central server and each slave server can be deployed in a distributed manner, for example, it can be accomplished through a computing device cluster (e.g., Figure 1 (As shown). At this time, the central server can send third information to each of the at least one slave server. The third information includes the start and end points of the terminal device in at least one of the N regions, as well as the node information corresponding to each of the at least one region. Each slave server is responsible for path planning for multiple terminal devices in at least one region. Based on the received third information, each slave server determines the path for the terminal device in each of the at least one region.
[0121] For example, each slave server can use the HCA algorithm and CBS algorithm to plan the path within its assigned area for each terminal device.
[0122] For example, server #1 can be responsible for the path planning of robots #1 to #5 in area #A, and server #2 can be responsible for the path planning of robots #1 to #5 in areas #C and #D.
[0123] 240, the output is the target path determined by the terminal device, which includes the path within each of the N regions.
[0124] When the technical solutions of this application embodiment are jointly executed by multiple computing devices, for example, each server can output a path within each of at least one region determined by the terminal device. In one possible implementation, each server can directly output its determined path segment to the user, in which case the user can integrate the paths of the terminal device within each region to construct the entire path. In another possible implementation, each slave server can output its determined path segment to a controller, in which case the controller can integrate the outputs of all slave servers and output the entire path to the user.
[0125] Based on the above technical solution, in this embodiment, N regions can be determined for the terminal device within M regions of the road network map, and then the path of the terminal device in each of the N regions can be determined, thereby realizing path planning for the terminal device. This not only improves the efficiency of path planning, but also enhances the system's scalability and the application's generalization ability through the graph partitioning method provided in this application.
[0126] As mentioned above, the technical solution provided in this application embodiment can be jointly executed by a central server and multiple slave servers. The following is a combination of... Figure 5 Describe the technical solution of the embodiments of this application in this scenario. Figure 5 This is a schematic flowchart of the path planning method 500 provided in this application embodiment. Method 500 is similar to method 200 described above, with the main difference being that in method 200, a single computing device can implement the entire technical solution, while in method 500, the central server is responsible for dividing the road network map into M regions and determining N sub-regions within the M regions, as well as the start and end points within each of the N sub-regions; each slave server is used to plan the path within its respective sub-region. In other words, method 500 requires the joint implementation of multiple computing devices to achieve the entire technical solution. Compared to method 200, method 500 can reduce the computational load on the computing devices and ensure the system performance of the computing devices.
[0127] like Figure 5As shown, optionally, in step 510, the central server can obtain the second information; optionally, in step 520, the central server divides the road network map into M regions based on the second information; in step 530, the central server obtains the first information; in step 540, the central server determines N regions within the M regions and the starting and ending points of the terminal devices in each of the N regions based on the obtained first information. Subsequently, the central server can send the starting and ending points of the terminal devices in each of the N regions, as well as the node information corresponding to each of the N regions, to the corresponding slave servers; in step 550, each slave server plans a path for the terminal devices in each region; in step 560, the path of the terminal devices is output. The output path of the terminal devices can be either the paths determined by each slave server in each region, or it can be the target path obtained by integrating the paths determined by each server in each region. For example, suppose there are N regions, with 3 regions. Server #1 is responsible for path planning in region #1, server #2 is responsible for path planning in region #2, and server #3 is responsible for path planning in region #3. Then, the central server can send the starting point, ending point, and corresponding node information of region #1 to server #1; the central server can send the starting point, ending point, and corresponding node information of region #2 to server #2; and the central server can send the starting point, ending point, and corresponding node information of region #3 to server #3.
[0128] The explanations and acquisition methods of "first information" and "second information" in Method 500 can be found in the description of Method 200, and will not be repeated here. Furthermore, the process of graph partitioning and determining the N regions in Method 500 can be referred to the description in Method 200 above.
[0129] It should be noted that method 500 does not restrict the order of steps 510 and 530.
[0130] The technical solutions in this application embodiment can also be implemented by deployment on a cloud system (such as...). Figure 6 (As shown). For example, in this case, the cloud management platform in the cloud service system includes a central server. The cloud management platform manages the infrastructure providing cloud services, and the infrastructure includes at least one cloud data center. Each of the at least one cloud data center includes at least one slave server. As another example, the cloud management platform in the cloud service system manages the infrastructure providing cloud services. The infrastructure includes at least one cloud data center, and each of the at least one cloud data center includes at least one server. This at least one server includes first information and second information. The embodiments of this application do not limit the deployment form of the central server and slave servers in the cloud service system.
[0131] Figure 6 This is a schematic diagram illustrating a cloud service scenario applicable to an embodiment of this application, such as... Figure 6 As shown, this cloud scenario may include: a cloud management platform 610, the Internet 620, and a client 630. For example... Figure 6 As shown, the cloud management platform 610 is used to manage the infrastructure that provides multiple cloud services. The infrastructure includes multiple cloud data centers, each containing multiple servers, and each server containing cloud service resources to provide corresponding cloud services to tenants.
[0132] The cloud management platform 610 can be located in a cloud data center and provides access interfaces (such as user interfaces or application program interfaces, APIs). Tenants can use client 630 to remotely access the access interface to register a cloud account and password on the cloud management platform 610 and log in. After successful authentication of the cloud account and password on the cloud management platform 610, the tenant can further select and purchase virtual machines with specific specifications (processor, memory, disk) on the cloud management platform 610. After successful purchase, the cloud management platform 610 provides the remote login account and password for the purchased virtual machine, and client 630 can remotely log in to the virtual machine to install and run the tenant's applications. Therefore, tenants can create, manage, log in to, and operate virtual machines in the cloud data center through the cloud management platform 610.
[0133] The cloud management platform 610 includes, but is not limited to, a tenant console, compute management services, network management services, storage management services, authentication services, and image management services. The tenant console provides an interface or API for interaction with tenants. The compute management services manage servers running virtual machines and containers, as well as bare metal servers. The network management services manage network services (such as gateways and firewalls). The storage management services manage storage services (such as data bucket services). The authentication services manage tenant account passwords. The image management services manage virtual machine images. Tenants use client 630 and can log in to the cloud management platform 610 via the internet 620 to manage their rented cloud services.
[0134] Figure 7 This is a schematic block diagram of a computing device 700 provided in an embodiment of this application. As shown in the figure, the computing device 700 may include a path planning module 710 and an output module 720. Optionally, it may also include a graph partitioning module 730.
[0135] The modules described above are used to execute the respective steps of the methods mentioned above, which will not be elaborated here.
[0136] It should also be understood that the computing device 700 here is embodied in the form of a functional unit. The term "unit" here may refer to application-specific integrated circuits (ASICs), electronic circuits, processors (e.g., shared processors, proprietary processors, or group processors) and memory for executing one or more software or firmware programs, integrated logic circuits, and / or other suitable components that support the described functions.
[0137] The computing device 700 in each of the above schemes has the function of implementing the corresponding steps of methods 200 and 500. The function can be implemented in hardware or by hardware executing corresponding software. The hardware or software includes one or more modules corresponding to the above functions; for example, the path planning module 710 and the graph partitioning module 730 can be replaced by a processor to execute the send / receive operations and related processing operations in each method embodiment. Furthermore, the path planning module 710 and the graph partitioning module 730 can be processing circuits.
[0138] In one possible implementation, the computing device 700 can be the application described in methods 200 and 500 above. Figure 6 The server device in the cloud management platform shown is used to perform the actions in methods 200 and 500 described above.
[0139] In one possible implementation, the computing device 700 can be the application described in methods 200 and 500 above. Figure 6 The various server devices in the data center are shown, which are used to perform the actions in methods 200 and 500 described above.
[0140] Figure 8 This is a schematic block diagram of another computing device 800 provided in an embodiment of this application. As shown, the device 800 includes at least one processor 820. The processor 820 is coupled to a memory and is used to execute instructions stored in the memory to transmit and / or receive signals. Optionally, the device 800 also includes a memory 830 for storing instructions. Optionally, the device 800 also includes a transceiver 810, and the processor 820 controls the transceiver 810 to transmit and / or receive signals.
[0141] It should be understood that the processor 820 and memory 830 described above can be combined into a single processing device, with the processor 820 executing the program code stored in the memory 830 to achieve the aforementioned functions. In specific implementations, the memory 830 can be integrated into the processor 820 or independent of the processor 820.
[0142] It should also be understood that transceiver 810 may include a transceiver (or receiver) and a transmitter (or transmitter). The transceiver may further include an antenna, and the number of antennas may be one or more. Transceiver 810 may have a communication interface or interface circuitry.
[0143] Specifically, the processor 820 in device 800 may correspond to the path planning module 710 or the graph partitioning module 730 in device 700. The transceiver 810 in device 800 may correspond to the output module 720 in device 700.
[0144] For example, processor 820 is used to execute computer programs or instructions stored in memory 830 to implement the steps in methods 200 and 500 above.
[0145] It should be understood that in the embodiments of this application, if the above technical solution 200 is jointly implemented by a central server and multiple slave servers, the computing device 700 or the computing device 800 can be understood as a computing system, which includes a central server and multiple slave servers.
[0146] Figure 9 This is a schematic diagram of the architecture of a computing device cluster provided in an embodiment of this application. The computing device cluster includes at least one computing device. This computing device can be a server, such as a central server, an edge server, or a local server in a local data center. In some embodiments, the computing device can also be a terminal device such as a desktop computer, a laptop computer, or a smartphone. Figure 9 As shown, the computing device cluster includes at least one computing device 900. The memory 930 of one or more computing devices 900 in the computing device cluster may store the same instructions for performing the actions executed in Embodiment 200 and Method 500 described above.
[0147] In some possible implementations, the memory 930 of one or more computing devices 900 in the computing device cluster may also store partial instructions for performing the actions of methods 200 and 500 described in the above embodiments. In other words, a combination of one or more computing devices 900 can jointly execute instructions for performing the actions described in the above embodiments.
[0148] It should be noted that the memory 930 in different computing devices 900 within the computing device cluster can store different instructions, each used to execute a portion of the functions of the computing device 900. That is, the instructions stored in the memory 930 of different computing devices 900 can implement the functions of one or more modules among the path planning module 710, the output module 720, or the graph partitioning module 730.
[0149] Alternatively, the memory 930 in different computing devices 900 within the computing device cluster can store different instructions, each used to execute a portion of the functions corresponding to the aforementioned computing devices 700-800. That is, the instructions stored in the memory 930 of different computing devices 900 can implement the functions of one or more modules among the path planning module 710, the output module 720, or the graph partitioning module 730.
[0150] In some possible implementations, one or more computing devices in a computing device cluster can be connected via a network. This network can be a wide area network (WAN) or a local area network (LAN), etc. Figure 10 One possible implementation is shown. For example... Figure 10 As shown, the two computing devices 900A and 900B are connected via a network. Specifically, they are connected to the network through the communication interfaces in each computing device.
[0151] It should be understood that Figure 10 The functions of the computing device 900A shown can also be performed by multiple computing devices 900. Similarly, the functions of the computing device 900B can also be performed by multiple computing devices 900.
[0152] In this embodiment of the application, a computer program product containing instructions is also provided. The computer program product may be software or a program product containing instructions that can run on a computing device cluster or be stored on any available medium. When run by the computing device cluster, it causes the computing device cluster to perform the methods provided above, or causes the computing device cluster to perform the functions of the apparatus provided above.
[0153] This application embodiment also provides a computer-readable storage medium. The computer-readable storage medium can be any available medium that a computing device can store, or a data storage device such as a data center containing one or more available media. The available medium can be a magnetic medium (e.g., floppy disk, hard disk, magnetic tape), an optical medium (e.g., digital video disc (DVD)), or a semiconductor medium (e.g., a solid-state drive). The computer-readable storage medium includes instructions that, when executed on a computing device, cause the computing device to perform the method provided above.
[0154] Those skilled in the art will recognize that the units and algorithm steps of the various examples described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.
[0155] Those skilled in the art will understand that, for the sake of convenience and brevity, the specific working processes of the systems, devices, and units described above can be referred to the corresponding processes in the foregoing method embodiments, and will not be repeated here.
[0156] In the several embodiments provided in this application, it should be understood that the disclosed systems, apparatuses, and methods can be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative; for instance, the division of units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be through some interfaces; the indirect coupling or communication connection between apparatuses or units may be electrical, mechanical, or other forms.
[0157] The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.
[0158] In addition, the functional units in the various embodiments of this application can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit.
[0159] If the aforementioned functions are implemented as software functional units and sold or used as independent products, they can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, or a portion of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.
[0160] The above description is merely a specific embodiment of this application, but the scope of protection of this application is not limited thereto. Any variations or substitutions that can be easily conceived by those skilled in the art within the scope of the technology disclosed in this application should be included within the scope of protection of this application. Therefore, the scope of protection of this application should be determined by the scope of the claims.
Claims
1. A path planning method, characterized in that, include: Obtain first information, which is used to indicate the starting position and target position of the terminal device on the road network map; Based on the first information, N regions are determined in the M regions of the road network map, and the starting point and ending point of the terminal device in each of the N regions are determined. The N regions are the regions that the terminal device needs to pass through when it reaches the target location from the starting position. M is an integer greater than 1, and N is a positive integer less than or equal to M. Based on the starting point and ending point of the terminal device in each of the N regions, determine the path of the terminal device in each of the N regions; Output the target path of the terminal device, wherein the target path includes the path of the terminal device in each of the N regions.
2. The method according to claim 1, characterized in that, Before determining N regions from M regions on the road network map based on the first information, and before the terminal device determines the start and end points in each of the N regions, the method further includes: Obtain second information, which includes node information corresponding to the road network map and the number M of regions that the road network map needs to be divided into. The node information is used to indicate the location of each node and the distance between each node and each of its neighboring nodes. Each of the M regions includes at least one node. Based on the second information, M regions of the road network map are determined.
3. The method according to claim 2, characterized in that, The step of determining the M regions of the road network map based on the second information includes: At least two adjacent nodes in the road network map are merged into one node to generate a coarsened road network map, wherein the number of nodes included in the coarsened road network map is less than the number of nodes included in the road network map. Based on the number of regions M to be divided and the number of nodes included in the coarse road network map, the coarse road network map is determined to be the M regions; Each node merged in each of the M regions is restored into multiple nodes to generate the road network map, wherein the road network map comprises the M regions.
4. The method according to claim 3, characterized in that, The method further includes: Adjust the boundaries between the regions in the M regions of the road network map and generate the adjusted M regions, wherein the edge cuts between the regions in the adjusted M regions are less than or equal to the edge cuts between the regions in the original M regions.
5. The method according to any one of claims 1 to 4, characterized in that, The step of determining N regions from M regions on the road network map based on the first information includes: Based on the M regions of the road network map and the first information, at least two region sets are determined. Each of the at least two region sets includes at least one region, and the at least one region included in each region set is the region that the terminal device needs to pass through when it reaches the target location from the starting position. A target region set is determined based on the at least two region sets, wherein the target region set includes the N regions.
6. The method according to claim 5, characterized in that, Determining the target region set based on the at least two region sets includes: Determine the location of each of the at least one region included in each region set; Based on the location of each of the at least one region included in each region set, determine the total distance between the at least one region included in each region set; The target region set is determined based on the total distance between the at least one region included in each region set.
7. The method according to any one of claims 1 to 4, characterized in that, The method includes: Obtain the region division rules, which are used to indicate the N regions that the terminal device needs to pass through when it reaches the target location from the starting position in the M regions; The step of determining N regions from M regions on the road network map based on the first information includes: The N regions are determined from the M regions of the road network map according to the aforementioned regional division rules.
8. The method according to any one of claims 1 to 7, characterized in that, The starting point of the terminal device in each of the N regions is the starting position of the terminal device, or the starting point of the terminal device in each of the N regions is the position on the boundary between two adjacent regions; The endpoint of the terminal device in each of the N regions is the endpoint position of the terminal device, or the endpoint of the terminal device in each of the N regions is the position on the boundary between two adjacent regions.
9. The method according to any one of claims 1 to 8, characterized in that, Based on the starting point and ending point of the terminal device in each of the N regions, the path of the terminal device in each of the N regions is determined, including: Based on the starting point and ending point of the terminal device in each of the N regions, and the node information corresponding to each of the N regions, the path of the terminal device in each of the N regions is determined.
10. A computing device, characterized in that, include: The path planning module and the output module, among which, The path planning module is used to obtain first information, which is used to indicate the starting position and target position of the terminal device on the road network map. The path planning module is used to determine N regions in the M regions of the road network map based on the first information, and the starting point and ending point of the terminal device in each of the N regions. The N regions are the regions that the terminal device needs to pass through when it reaches the target location from the starting position. M is an integer greater than 1, and N is a positive integer less than or equal to M. The path planning module is used to determine the path of the terminal device in each of the N regions based on the starting point and ending point of the terminal device in each of the N regions. The output module is used to output the target path of the terminal device, wherein the target path includes the path of the terminal device in each of the N regions.
11. The computing device according to claim 10, characterized in that, The computing device further includes: a graph partitioning module. The graph partitioning module is used to obtain second information, which includes node information corresponding to the road network map and the number M of regions that the road network map needs to be divided into. The node information is used to indicate the position of each node and the distance between each node and each of its neighboring nodes. Each of the M regions includes at least one node. The map partitioning module is used to determine M regions of the road network map based on the second information.
12. The computing device according to claim 11, characterized in that, The map partitioning module is used to determine M regions of the road network map based on the second information, including: The graph partitioning module is used to merge at least two adjacent nodes in the road network map into one node to generate a coarsened road network map, wherein the number of nodes included in the coarsened road network map is less than the number of nodes included in the road network map. The graph division module is used to determine the coarse road network map into M regions based on the number of regions M to be divided and the number of nodes included in the coarse road network map. The graph partitioning module is used to restore each node after merging in each of the M regions into multiple nodes to generate the road network map, wherein the road network map consists of the M regions.
13. The computing device according to claim 12, characterized in that, The graph partitioning module is further configured to adjust the boundaries between the regions in the M regions of the road network map and generate the adjusted M regions, wherein the edge cuts between the regions in the adjusted M regions are less than or equal to the edge cuts between the regions in the original M regions.
14. The computing device according to any one of claims 10 to 13, characterized in that, The route planning module is used to determine N regions from M regions in the road network map based on the first information, including: The path planning module is used to determine at least two region sets based on the M regions of the road network map and the first information. Each of the at least two region sets includes at least one region, and the at least one region included in each region set is the region that the terminal device needs to pass through when it reaches the target location from the starting position. The path planning module is used to determine a target region set based on the at least two region sets, wherein the target region set includes the N regions.
15. The computing device according to claim 14, characterized in that, The path planning module is used to determine a target region set based on the at least two region sets, including: The path planning module is used to determine the location corresponding to each of the at least one region included in each region set; The path planning module is used to determine the total distance between the at least one region included in each region set based on the location of each region corresponding to the at least one region included in each region set. The path planning module is used to determine the target region set from the at least two region sets based on the total distance between the at least one region included in each region set.
16. The computing device according to any one of claims 10 to 13, characterized in that, The path planning module is also used to obtain a region division rule, which is used to indicate the N regions that the terminal device needs to pass through when it reaches the target location from the starting position in the M regions. The route planning module is used to determine N regions from M regions in the road network map based on the first information, including: The route planning module is used to determine the N regions in the M regions of the road network map according to the region division rules.
17. The computing device according to any one of claims 10 to 16, characterized in that, The starting point of the terminal device in each of the N regions is the starting position of the terminal device, or the starting point of the terminal device in each of the N regions is the position on the boundary between two adjacent regions; The endpoint of the terminal device in each of the N regions is the endpoint position of the terminal device, or the endpoint of the terminal device in each of the N regions is the position on the boundary between two adjacent regions.
18. The computing device according to any one of claims 10 to 17, characterized in that, The path planning module is used to determine the path of the terminal device in each of the N regions based on the starting point and ending point of the terminal device in each of the N regions, including: The path planning module is used to determine the path of the terminal device in each of the N regions based on the starting point and ending point of the terminal device in each of the N regions, and the node information corresponding to each of the N regions.
19. A computing device cluster, characterized in that, It includes at least one computing device, each computing device including a processor and memory; The processor of the at least one computing device is configured to execute instructions stored in the memory of the at least one computing device to cause the cluster of computing devices to perform the method as described in any one of claims 1 to 9.
20. A computer program product containing instructions, characterized in that, When the instruction is executed by the computing device cluster, the computing device cluster performs the method as described in any one of claims 1 to 9.
21. A computer-readable storage medium, characterized in that, It includes computer program instructions, which, when executed by a cluster of computing devices, perform the method as described in any one of claims 1 to 9.