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 path planning efficiency in large-scale intelligent warehousing and manufacturing environments is solved, achieving efficient and accurate path planning.
Patent Information
- Application Number
- PCT/CN2025/084013
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-06-28
- Filing Date
- 2025-03-21
- Publication Date
- 2025-11-27
AI Technical Summary
Existing intelligent terminal device path planning algorithms struggle to process and optimize path planning problems in real time in large-scale and complex intelligent warehousing and intelligent 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 CN2025084013_27112025_PF_FP_ABST
Abstract
Description
A path planning method and computing device
[0001] The present application claims priority to the Chinese patent application No. 202410647066.3, filed on May 21, 2024, entitled "A path planning method and computing device", the content of which is incorporated herein by reference in its entirety.
[0002] The present application claims priority to the Chinese patent application No. 202410865569.8, filed on June 28, 2024, entitled "A path planning method and computing device", the content of which is incorporated herein by reference in its entirety. TECHNICAL FIELD
[0003] The present application relates to the technical field of path planning, and more particularly, to a path planning method and computing device. BACKGROUND
[0004] With the rapid development of intelligent warehousing and intelligent manufacturing technology, intelligent 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 intelligent terminal devices. However, in modern intelligent warehousing and intelligent manufacturing environments, the number of intelligent terminal devices and the working area is usually very large, and the map scale also increases, which makes it difficult for existing intelligent terminal device path planning algorithms to process and optimize large-scale path planning problems in real time, resulting in limited system performance and path planning efficiency.
[0005] Therefore, there is a need for a path planning method that can improve the efficiency of path planning. SUMMARY
[0006] The present application provides a path planning method that can improve the efficiency of path planning.
[0007] In a first aspect, a path planning method is provided, the method comprising: obtaining first information, the first information being used to indicate a starting position and a target position of a terminal device on a road network map; determining N regions and respective starting points and ending points of the terminal device in each of the N regions in M regions of the road network map according to the first information, the N regions being regions that the terminal device needs to pass through from the starting position to the target position; determining a path of the terminal device in each of the N regions according to the respective starting points and ending points of the terminal device in each of the N regions; and outputting a target path of the terminal device, wherein the target path comprises the path of the terminal device in each of the N regions.
[0008] In the embodiments of the present application, M is an integer greater than 1, and N is a positive integer less than or equal to M.
[0009] For example, the "road network map" in the embodiments of the present application can be understood as a node topology map after mapping of roads and / or static obstacles in a target region.
[0010] The "terminal device" in the present application can be one or more terminal devices, and can also be understood as selecting N regions for each of the plurality of terminal devices in the M regions in the embodiments of the present application.
[0011] Based on the above technical solution, in the embodiments of the present application, the road network map is divided into M regions, N regions are selected for the terminal device based on the divided M regions, and the starting point and the ending point of the terminal device in the N regions are determined, and then the path of the terminal device in each region in the N regions is planned, which can improve the efficiency of path planning.
[0012] Specifically, in the embodiments of the present application, the path planning of the entire road network map can be divided into the planning of the paths between regions and the planning of the paths in regions by dividing the road network map, which realizes parallel computing and optimizes the performance of the system. Moreover, the combination of global path planning and local path planning is realized, and the accuracy of path planning is improved.
[0013] In the embodiments of the present application, dividing the road network map into M regions can include the following implementation manners, for example. In one possible implementation manner, the existing scheme can be used to directly divide the road network map into M regions. In another possible implementation manner, the M regions of the road network map can be determined according to the second information.
[0014] In combination with the first aspect, in one possible implementation manner, the method further includes: obtaining second information, the second information including node information corresponding to the road network map and a number M of regions to be divided for the road network map, wherein the node information is used to indicate the position of each node and the distance between each node and each adjacent node, and each of the M regions includes at least one node; and determining the M regions of the road network map according to the second information.
[0015] For example, the node information corresponding to the road network map can be: {node #0: (0, 0), neighbor of node #0: [(node #1, 10), (node #2, 4)]}. The node information can indicate the position of node #0, the adjacent nodes (i.e., node #1 and node #2) of node #0, and the distance between node #0 and each adjacent node (for example, the distance between node #0 and adjacent node #1 is 10, and the distance between node #0 and adjacent node #2 is 4).
[0016] With reference to the first aspect, in a possible implementation manner, the M regions of the road network map are determined according to the second information, including: merging 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; determining the coarsened road network map as the M regions according to the number M of regions to be divided and the number of nodes included in the coarsened road network map; restoring each node in each region of the M regions determined by the coarsened road network map to a plurality of nodes respectively to generate the road network map, wherein the road network map is the M regions.
[0017] For example, a plurality of adjacent nodes in the road network map that are close in distance can be merged into one node to generate a coarsened road network map.
[0018] The existing road network division method mostly relies on manual division, which not only consumes a large amount of manpower and material resources, but also is difficult to guarantee the consistency and efficiency of division, especially when facing a large-scale or complex road network map. Based on the above technical solution, the map division method provided in the embodiments of the present application can realize efficient and accurate division of a road network map of any scale and any complexity, and ensure the repeatability and scalability of the division result.
[0019] With reference to the first aspect, in a possible implementation manner, the method further includes: adjusting boundaries between regions in the M regions of the road network map, and generating adjusted M regions, wherein the edge cut between regions in the adjusted M regions is less than or equal to the edge cut between regions in the M regions before adjustment.
[0020] For example, the node replacement method can be used to adjust the boundaries between regions in the M regions of the road network map.
[0021] Based on the above technical solution, in the embodiments of the present application, the boundaries between regions are adjusted, so that the regions of the divided road network map can be more fine, reasonable and accurate. For example, when the number of terminal devices is large and the target paths of most terminal devices need to cross multiple regions, if the edge cut between regions in the M regions of the road network map can be adjusted when the map is divided, the number of terminal devices passing through the region boundaries can be relatively balanced when planning a path for each terminal device subsequently, so that the path planning is more reasonable.
[0022] With reference to the first aspect, in a possible implementation manner, the determining the N regions from the M regions of the road network map according to the first information comprises: determining at least two region sets according to the M regions of the determined road network map and the first information, each region set of the at least two region sets comprising at least one region, and the at least one region comprised in each region set being a region that needs to be passed through by the terminal device from the starting position to the target position; and determining a target region set from the at least two region sets, wherein the target region set comprises the N regions.
[0023] For example, the central server can determine one region set from the at least two region sets as the inter-region path of the terminal device based on a path algorithm or other preconfigured rules.
[0024] With reference to the first aspect, in a possible implementation manner, the determining the target region set from the at least two region sets comprises: determining a respective position corresponding to the at least one region comprised in each region set; determining a total distance between the at least one region comprised in each region set according to the respective position corresponding to the at least one region comprised in each region set; and determining the target region set according to the total distance between the at least one region comprised in each region set.
[0025] Based on the above scheme, in the embodiments of the present application, a relatively optimal region set (for example, the region set with the shortest distance between regions) can be determined from the plurality of region sets based on a path planning algorithm, so that the terminal device can more conveniently reach the target position from the starting position.
[0026] With reference to the first aspect, in a possible implementation manner, the method comprises: obtaining a region division rule, the region division rule being used to indicate the N regions that need to be passed through by the terminal device from the starting position to the target position in the M regions; and determining the N regions from the M regions of the road network map according to the first information, comprising: determining the N regions from the M regions of the road network map according to the region division rule.
[0027] It can also be understood that, in the embodiments of the present application, the N regions can be determined according to preconfigured rules, and the preconfigured rules are used to indicate the N regions that need to be passed through by the terminal device from the starting position to the target position in the M regions.
[0028] For example, after the map division is completed, the N regions that need to be passed through by the terminal device are configured in advance by a person considering the working efficiency, working nature and characteristics of the terminal device.
[0029] Based on the above technical solution, in the embodiment of the present application, after the road network map is divided, the corresponding region set can be directly selected for the terminal device based on the artificially pre-configured rules, without using the path algorithm to determine the region set for the terminal device. For example, in some special scenarios, the region set can be directly specified by a person, thereby improving the flexibility and freedom of path planning of the terminal device.
[0030] With reference to the first aspect, in a possible implementation, the starting point of each of the N regions for the terminal device is the starting position of the terminal device, or the starting point of each of the N regions for the terminal device is a position on the boundary between adjacent two regions; and the ending point of each of the N regions for the terminal device is the ending position of the terminal device, or the ending point of each of the N regions for the terminal device is a position on the boundary between adjacent two regions.
[0031] With reference to the first aspect, in a possible implementation, the path of the terminal device in each of the N regions is determined according to the respective starting point and ending point of the terminal device in each of the N regions, comprising: determining the path of the terminal device in each of the N regions according to the respective starting point and ending point of the terminal device in each of the N regions and the respective node information of each of the N regions.
[0032] With reference to the first aspect, in a possible implementation, the method is applied in a cloud service system, and the cloud service system comprises a cloud management platform, wherein the cloud management platform is configured to manage infrastructure providing cloud services, and the infrastructure comprises at least one cloud data center, each of the at least one cloud data center comprises at least one server, and the at least one server stores the first information and the second information.
[0033] In the second aspect, the present application provides a computing device, which is configured to execute the method of the first aspect. Specifically, the device can comprise units and / or modules for executing the method of path planning, such as a path planning module, an output module. In the present application, the computing device can also be applied in a cloud service system.
[0034] In the third aspect, the present application provides a computing device, which comprises at least one processor configured to execute computer programs or instructions stored in a memory to execute the method of the first aspect. Optionally, the device further comprises a memory configured to store computer programs or instructions. Optionally, the device further comprises a communication interface, and the processor reads the computer programs or instructions stored in the memory through the communication interface.
[0035] In an implementation, the computing device is a device for implementing the functions of the above method in a chip.
[0036] In another implementation, the computing device is a chip, a chip system, or a circuit for implementing the functions of the above method in a chip.
[0037] In a fourth aspect, the present application provides a processor, comprising: an input circuit, an output circuit, and a processing circuit. The processing circuit is configured to receive a signal through the input circuit and transmit a signal through the output circuit, so that the processor executes the method of the first aspect.
[0038] In the implementation, the processor can be one or more chips, the input circuit can be an input pin, the output circuit can be an output pin, and the processing circuit can be a transistor, a gate circuit, a flip-flop, 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, the output signal output by the output circuit can be output to and transmitted by, for example but not limited to, a transmitter, and the input circuit and the output circuit can be the same circuit, which is used as the input circuit and the output circuit at different times. The embodiments of the present application do not limit the specific implementation of the processor and various circuits.
[0039] For the sending and obtaining / receiving operations of the processor, if there is no special description, or if it does not contradict the actual role or internal logic in the related description, it can be understood as the processor output and receive, input, and the like, or as the sending and receiving operations performed by the radio frequency circuit and the antenna, and the present application does not limit this.
[0040] In a fifth aspect, a processing device is provided, comprising a processor and a memory. The processor is configured to read instructions stored in the memory, and can receive a signal through a transceiver and transmit a signal through a transmitter to execute the method of the first aspect.
[0041] Optionally, the processor is one or more, and the memory is one or more.
[0042] Optionally, the memory can be integrated with the processor, or the memory and the processor can be separately arranged.
[0043] In the implementation, the memory can be a non-transitory memory, for example, a read only memory (ROM), which can be integrated with the processor on the same chip, or can be arranged on different chips, and the embodiments of the present application do not limit the type of memory and the arrangement of the memory and the processor.
[0044] It should be understood that the relevant data interaction process, for example, sending the first information can be a process of outputting the first information from the processor, and receiving the capability information can be a process of receiving the input capability information by the processor. Specifically, the data output by the processor can be output to the transmitter, and the input data received by the processor can come from the transceiver. Among them, the transmitter and the transceiver can be collectively referred to as a transceiver.
[0045] The processing device in the fifth aspect can be one or more chips. The processor in the processing device can be implemented by hardware or by software. When implemented by hardware, the processor can be a logic circuit, an integrated circuit, etc.; when implemented by software, the processor can be a general-purpose processor, which is implemented by reading software codes stored in a memory, which can be integrated in the processor or exist independently outside the processor.
[0046] 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, so that the computing cluster performs the method in any one of the possible implementation manners of the first aspect.
[0047] Optionally, the processor can be a general-purpose processor, which can be implemented by hardware or by software. When implemented by hardware, the processor can be a logic circuit, an integrated circuit, etc.; when implemented by software, the processor can be a general-purpose processor, which is implemented by reading software codes stored in a memory, which can be integrated in the processor or exist independently outside the processor.
[0048] In a seventh aspect, a computer readable storage medium is provided, which stores program codes for execution by a device, and the program codes include codes for executing the method of the first aspect.
[0049] In an eighth aspect, a computer program product including instructions is provided, which, when executed on a computer, causes the computer to execute the method of the first aspect.
[0050] In a ninth aspect, a chip system is provided, including a processor, configured to call and run a computer program from a memory, so that a device installed with the chip system executes the method of the first aspect. BRIEF DESCRIPTION OF DRAWINGS
[0051] FIG. 1 is a schematic block diagram of a system architecture provided by an embodiment of the present application.
[0052] FIG. 2 is a schematic flowchart of a path planning method 200 provided by an embodiment of the present application.
[0053] FIG. 3 is a schematic diagram of a graph partitioning process according to an embodiment of the present application.
[0054] FIG. 4 is a schematic diagram of an inter-region path planning according to an embodiment of the present application.
[0055] FIG. 5 is a schematic flowchart of a path planning method 500 according to an embodiment of the present application.
[0056] FIG. 6 is a schematic diagram of a cloud service system framework according to an embodiment of the present application.
[0057] FIG. 7 is a schematic block diagram of a computing device 700 according to an embodiment of the present application.
[0058] FIG. 8 is a schematic block diagram of a computing device 800 according to an embodiment of the present application.
[0059] FIG. 9 is a schematic diagram of an architecture of a computing device cluster according to an embodiment of the present application.
[0060] FIG. 10 is a schematic diagram of a connection between computing devices 900A and 900B via a network according to an embodiment of the present application. DETAILED DESCRIPTION
[0061] The technical solutions in the present application will be described below with reference to the accompanying drawings.
[0062] In order to facilitate the understanding of the technical solutions of the present application, the individual professional terms involved in the present application will be introduced first.
[0063] 1. Road network
[0064] The "road network" refers to a road system in a certain area, which is composed of various roads and interconnects and interweaves into a network distribution. For example, a road network composed of highways of all levels is called a highway network; for example, a city road network composed of various roads in a city area. A road can be divided into at least one road segment unit, and a two-dimensional road network map can include two-dimensional data of at least one road segment unit of at least one road. The road here includes but is not limited to urban roads, expressways, auxiliary roads, viaducts, overpasses, etc.
[0065] For example, the road network includes: road network coordinate system, road network point, road segment, parking space, static obstacle, parking observation point, charging device, sensing device, etc.
[0066] 2. Graph matching
[0067] "Graph matching" is an algorithm used to compare and identify similar parts in graph structures. In the context of path planning and map processing, graph matching is often used to simplify complex or large-scale graph structures into simpler and more easily processed forms. Graph matching algorithms attempt to find similar subgraphs or nodes in two or more graphs and merge or optimize them to reduce the complexity and computational burden of the graph. The application of graph matching in path planning includes road network simplification, regional division, and topological graph construction, which helps to improve the efficiency and accuracy of path planning.
[0068] 3、Adjacent nodes
[0069] In a graph, if there is an edge between two vertices, then these 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 vertex v and w are adjacent. In a directed graph, if there is an edge from vertex i to vertex j, then vertex i and j are called the starting point and the ending point, respectively, that is, they are adjacent. The concept of adjacent nodes is one of the basic concepts in graph theory, which describes the direct connection relationship between vertices in a graph.
[0070] 4、Edge cut set
[0071] In graph theory, an "edge cut set" can be understood as follows: for a connected edge set A, if all edges in A are removed, the original graph becomes a disconnected graph, then this edge set A is called an edge cut set of the original graph. The edge cut set with the minimum number of edges in all edge cut sets is called the minimum edge cut set, which can also be called the minimum cut. "Edge cut" can be understood as the number of edges in the edge cut set.
[0072] 5、Node replacement method
[0073] In graph partitioning, the "node replacement method" is a partition optimization method used to adjust the boundaries of partition regions to reduce the edge cut between regions. The core idea is to gradually adjust the distribution of nodes in the region by moving the nodes in the graph between different regions, so as to maintain the balance of the size of each region while minimizing the connection edges between regions (i.e., ensuring the minimum edge cut). This method generally involves incremental updates, heuristic replacement, balance constraints, and other optimization strategies.
[0074] 6、Path planning algorithm
[0075] (1) Dijkstra algorithm: Dijkstra algorithm is an algorithm for finding the shortest path from a node to all other nodes in a graph. This algorithm maintains a priority queue to select the node with the current shortest path and continuously updates the shortest path length from the starting node to each node. The advantage of Dijkstra algorithm is that it can find the shortest path from the starting node to all other nodes in the graph without negative weight edges, but it may take a long time to calculate, especially when there are a large number of edges in the graph.
[0076] (2) A-star (also known as A*) algorithm: A* algorithm is a widely used heuristic search algorithm for path planning and graph search problems in graphs. It uses a heuristic function to estimate the best path cost from the current node to the target node in the graph, and selects the next expanded node by considering the known best path cost (g value) from the starting node to the current node and the heuristic estimated cost (h value) from the current node to the target node. The advantage of A* algorithm is that it can find the optimal path under appropriate heuristic function and can run efficiently.
[0077] (3) Breadth first search (BFS) algorithm: BFS algorithm, also known as "breadth first search" algorithm, is one of the simplest graph search algorithms, and is also the prototype of many important graph algorithms. Dijkstra's single-source shortest path algorithm and Prim's minimum spanning tree algorithm both use similar ideas as breadth first search. Its alias is also called BFS, which belongs to a kind of blind search method, the purpose is to systematically expand and check all nodes in the graph to find the result. In other words, it does not consider the possible location of the result, and searches the entire graph thoroughly until the result is found.
[0078] (4) Conflict-based search (CBS) algorithm: CBS is a conflict-based multi-agent path finding (MAPF) algorithm, and CBS algorithm gives the global optimal result of MAPF problem. This algorithm handles the problem by decomposing it into two levels: bottom layer and top layer. In the bottom layer, the algorithm searches an effective path for each agent, while in the top layer, the algorithm is responsible for checking whether there is a conflict between these paths. If a conflict is found, the top layer algorithm will impose constraints and re-search the path in the bottom layer until all paths are conflict-free. This two-level processing makes CBS algorithm able to give the global optimal result of MAPF problem.
[0079] The "terminal device" in the embodiments of the present application can also be described as a "smart terminal device", for example, it can be a wireless terminal in industrial control (for example, 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 (for example, a sweeping robot), and can also be a vehicle and the like.
[0080] The technical solution provided by the embodiments of the present application can be applied to a path navigation scene. For example, the navigation of the path when driving a vehicle, or the navigation of the path of a robot. It can also be applied to a smart warehouse management system, and is connected to modules such as inventory management, order processing and robot control, so as to realize the carrying of goods by the robot. The above application scenarios are only exemplary, and the embodiments of the present application do not limit the scenarios in which the method is used.
[0081] With the rapid development of intelligent warehousing and intelligent manufacturing technology, intelligent 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 intelligent terminal devices. However, in modern intelligent warehousing and intelligent manufacturing environments, the number of intelligent terminal devices and the working area is usually very large, and the map size also increases, which makes it difficult for existing intelligent terminal device path planning algorithms to process 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.
[0082] Therefore, the present 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 divided M regions, and determines the starting point and ending point of the terminal device in the N regions, and then plans the path of the terminal device in each region in the N regions, which can improve the efficiency of path planning.
[0083] FIG. 1 is a schematic block diagram of a system architecture to which the embodiments of the present application are applicable, as shown in FIG. 1, the system architecture mainly includes a central server 110, a slave server 120 (for example, a slave server 120#a1, a slave server 120#a2, a slave server 120#a3… a slave server 120#an), a console 130, and the system architecture also includes a terminal device (for example, a robot).
[0084] For example, the central server 110 can be deployed in a control center or a cloud service system architecture, and can be configured to be responsible for processing a complex graph partition algorithm to divide the entire road network map into multiple regions. Meanwhile, the central server can be configured to be responsible for overall regional-level path planning and provide macroscopic navigation instructions for each slave server. For example, the central server 110 can use a path planning algorithm (for example, A* algorithm, Dijkstra algorithm) to perform global path planning.
[0085] For example, each slave server can be deployed near a specific application scenario, such as a warehouse or a factory. For example, each slave server can be configured to receive information of the divided regions from the central server and be responsible for managing path planning in each region. For example, each slave server can be configured to manage one or more terminal devices and optimize paths in each region of the terminal devices according to real-time data, so as to ensure running efficiency and avoid path conflicts between robots. For example, each slave server can use a path planning algorithm (for example, HCA* algorithm or CBS algorithm) to perform regional path planning.
[0086] For example, the console 130 can be deployed in a control center or a location accessible to users. For example, the console can be configured to serve as a user interaction interface and provide a graphical interface for users to monitor the state of the terminal device (for example, the position, orientation, speed, task information (for example, “idle”, “charging” or “task execution”) of the terminal device, etc.), path planning results, perform manual control and data display. Users can view the running state of the robot in real time through the console and collect, analyze and display relevant data (for example, the use efficiency (working time / total time) of the terminal device, charging time, etc.).
[0087] For example, the terminal device in the embodiments of the present application can directly run in an application scenario. For example, the terminal device can be a robot walking on a walkway in a warehouse or beside a production line in a factory. For example, the terminal device can execute instructions of the path in the region sent by the slave server, so as to perform real-time positioning and surrounding environment monitoring. The terminal device can report data to the corresponding slave server in real time according to environmental changes (for example, including two types of data, one type is ontology data, and the other type is task data. “Ontology data” contains the state of the terminal device, such as position, orientation, etc. “Task information” contains the state of the goods (for example, for a carrying task), environmental information (for example, for a detection task) and the like), so that the slave server can adjust the path.
[0088] It should be understood that in this application, each slave server can be responsible for path planning in at least one area of at least one terminal device. For example, in the system architecture shown in FIG. 1, the central server has 1, the slave server has 3, and the total number of areas divided in the road network map is 3, and there are 5 terminal devices in total. For example, it is assumed that the slave server 120#a1 can be responsible for planning paths for 5 terminal devices in area #1; the slave server 120#a2 can be responsible for planning paths for 5 terminal devices in area #2; and the slave server 120#a3 can be responsible for planning paths for 5 terminal devices in area #3.
[0089] For example, the system architecture shown in FIG. 1 can also include a user interface module, which can be deployed in the console 130 shown in FIG. 1, for example, to provide a graphical interface for users to display robot status, path planning results and provide manual control functions.
[0090] For example, the system architecture shown in FIG. 1 can also include a data communication module, which can be deployed in all hardware devices, for ensuring data synchronization and communication between devices, including transmission of path instructions, status feedback of terminal devices, etc.
[0091] FIG. 2 is a schematic flowchart of a path planning method 200 provided by an embodiment of the present application, which can be executed by a computing device, or also can be executed by a component (such as a chip or circuit) of the computing device. For example, the computing device can be a computer.
[0092] It should be noted that the method 200 in the present application can be executed by one server (for example, one computing device), or can be jointly executed by multiple servers (for example, multiple computing devices, including a central computing device and various slave computing devices), as shown in FIG. 2, which includes the following steps:
[0093] 210, obtaining first information, the first information being used to indicate a starting position and a target position of a terminal device in a road network map.
[0094] It can also be understood that the first information is used to indicate a predetermined starting position and a target position of the terminal device.
[0095] For example, the first information can be input by a user, or the first information can be obtained from the information of the terminal device saved in a database, or the first information is pre-configured, etc. In the present application, the manner of obtaining the first information is not limited.
[0096] As described above, when the technical solution of the present application is jointly executed by multiple computing devices, at this time, the step 210 can be executed by the central server.
[0097] 220, determine N regions and the start point and the end point of the terminal device in each of the N regions in the M regions of the road network map according to the first information.
[0098] In the embodiment of the present application, the N regions are regions that the terminal device needs to pass through from the starting position to the target position, and N is a positive integer less than or equal to M.
[0099] For example, the "road network map" in the embodiment of the present application can be understood as a node topology map after mapping the roads and / or static obstacles of the target region.
[0100] The "terminal device" in the embodiment of the present application can be one or more terminal devices, or it can be understood that the embodiment of the present application can select N regions for each of the multiple terminal devices in the M regions.
[0101] As described above, when the technical solution of the embodiment of the present application is jointly executed by multiple computing devices, for example, step 220 can be executed by a central server.
[0102] In the embodiment of the present application, dividing the road network map into M regions may, for example, include the following implementation manners: in one possible implementation manner, the existing scheme can be directly used to divide the road network map into M regions. In another possible implementation manner, second information is obtained, and M regions of the road network map are determined according to the second information.
[0103] In the embodiment of the present application, 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, and the node information is used to indicate the position of each node included in the road network map and the distance between each node and each adjacent node. Each of the M regions includes at least one node. In the embodiment of the present application, M is an integer greater than 1.
[0104] For example, the node information corresponding to the road network map can be: {node #0: (0, 0), neighbor of node #0: [(node #1, 10), (node #2, 4)]}. The node information can indicate the position of node #0, the adjacent nodes (i.e., node #1 and node #2) of node #0, and the distance between node #0 and each adjacent node (for example, the distance between node #0 and adjacent node #1 is 10, and the distance between node #0 and adjacent node #2 is 4).
[0105] In the embodiment of the present 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.
[0106] Exemplarily, in a possible implementation, the second information can be obtained from the user through the user interface and the number M of regions to be divided in the road network map. In another possible implementation, the second information can be obtained from a certain database or file in the server. In the embodiments of the present application, M can be specified by the user or configured by the system. In the embodiments of the present application, the manner of obtaining the second information is not limited.
[0107] In a possible implementation, the road network map can be divided into M regions according to the number K (K is an integer greater than 1) of nodes included in the road network map and the number M of regions to be divided in the road network map. Exemplarily, each of the M regions includes nodes.
[0108] 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, 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. According to the number M of regions to be divided and the number of nodes included in the coarsened road network map, the coarsened road network map is divided into M regions. Each of the nodes merged in each of the M regions divided from the coarsened road network map is restored to a plurality of nodes respectively, and a road network map is generated, wherein the road network map is divided into M regions (it can also be understood that the original road network map is divided into M regions).
[0109] Exemplarily, as shown in FIG. 3, first, the central server can perform coarsening processing on the road network map of the warehouse through a graph matching algorithm. Exemplarily, based on the graph matching algorithm and the node information corresponding to the road network map, nodes and edges with similar structures and functions in the road network map can be iteratively identified and merged (for example, a plurality of adjacent nodes with similar distances can be merged into one node), thereby obtaining a coarsened road network map. This process not only helps to reduce the computational complexity, but also improves the execution efficiency of subsequent graph division. It should be understood that the original road network map can be coarsened multiple times in the embodiments of the present application, thereby obtaining a coarsened road network map meeting the requirements. Then, the central server can perform initial division on the coarsened road network map. For example, the BFS algorithm can be used to explore each node in the road network map, and the number of regions to be divided, the connection relationship between nodes and the total number of nodes in the road network map can be used to divide the preliminary regions. Then, the coarsened road network map divided into M regions can be traced back, thereby performing refinement processing. It can also be understood that the adjacent nodes merged before are restored to a plurality of nodes. For example, in this process, the nodes can be iteratively traced back, thereby obtaining 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.
[0110] Most of the existing road network division methods rely on manual division, which not only consumes a large amount of manpower and material resources, but also is difficult to guarantee the consistency and efficiency of the division, especially when facing large-scale or complex road network maps. The map division method provided in the embodiments of the present application can realize efficient and accurate division of road network maps of any scale and complexity, and ensure the repeatability and scalability of the division results.
[0111] In a possible implementation, further, the method further includes adjusting the boundaries between the regions in the M regions, and generating the adjusted M regions, wherein the edge cut between each region in the adjusted M regions is less than or equal to the edge cut between each region in the M regions before adjustment. For example, in the embodiments of the present application, the node replacement method can be used to iteratively optimize the M regions of the road network map division, and gradually adjust the boundaries (which can also be understood as "channels") of the divided regions, so as to obtain more refined and reasonable region division.
[0112] In the embodiments of the present application, the boundaries between the regions are adjusted, so that the regions of the divided road network map can be more refined, reasonable and accurate. For example, when the number of terminal devices is large, and the target paths of most terminal devices need to cross multiple regions, if the edge cut between each region in the M regions can be adjusted during map division, the number of terminal devices passing through the region boundary can be relatively balanced when planning a path for each terminal device subsequently, so that the path planning is more reasonable.
[0113] In the embodiments of the present application, at least two region sets can be determined according to the M regions of the division and the obtained second information, each region set in the at least two region sets includes at least one region, and the at least one region included in each region set is a region that needs to be passed through by the terminal device when moving from the starting position to the target position. Then, a target region set is determined according to the at least two region sets, wherein the target region set includes N regions. For example, a region set in the at least two region sets can be determined as the inter-region path of the terminal device based on a path algorithm or other preconfigured rules.
[0114] In a possible implementation, positions corresponding to the at least one region included in each region set are determined, and total distances between the at least one region included in each region set are determined according to the positions corresponding to the at least one region included in each region set; and a target region set is selected from the at least two region sets according to the total distances between the at least one region included in each region set, where 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, which can search for an optimal path in a global range and ensure effective navigation of each terminal device from a starting point to an ending point. For example, the position corresponding to each region can be a center position of the region, for example, a coordinate of a center point of the region.
[0115] For example, as shown in FIG. 4, assuming that a starting point of a robot #1 is (12, 11) and an ending point is (28, 13), a central server can plan two paths, where path #1: F→B→C→D→H, and path #2: F→G→H. The central server can calculate total distances between centers of regions included in the two paths, and it can be found that distances between regions in path #2 are smaller than distances between regions in path #1, and therefore, the central server finally determines that path #2: F→G→H should be selected for the robot #1.
[0116] In another possible implementation, the method includes: obtaining a region division rule, where the region division rule is used to indicate N regions that need to be passed through by a terminal device from a starting position to a target position in M regions; and determining the N regions in the M regions of the road network map according to the first information, including: determining the N regions in the M regions of the road network map according to the region division rule.
[0117] In the embodiments of the present application, the N regions are determined according to a preconfigured rule, and the preconfigured rule is used to indicate that the terminal device needs to pass through N regions from a starting position to a target position in the divided M regions. It can also be understood that after the graph is divided, a rule can be preconfigured by a person. For example, after the graph is divided, considering the work efficiency, work nature and characteristics of the terminal device, the person can preconfigure the N regions that the terminal device needs to pass through. For example, the preconfigured rule is that the path of robot #2 is E→A→B, the path of robot #3 is G→H→D, and the path of robot #4 is E→B→C→D. It can also be understood that at this time, the central server does not need to select a region for each terminal device, but directly selects a path for each terminal device based on the preconfigured rule, which can improve the flexibility and freedom of path planning of the terminal device. For example, a table can be defined in advance, such as in M regions, the path of robot #2 is E→A→B, the path of robot #3 is G→H→D, and the path of robot #4 is E→B→C→D, and then only the table needs to be checked, which can reduce the amount of calculation.
[0118] In the embodiments of the present application, the starting point of the terminal device in each region can be the starting position of the terminal device, or a position on the boundary between adjacent two regions. The ending point of the terminal device in each region can be the ending position of the terminal device, or a position on the boundary between adjacent two regions.
[0119] Continuing to take FIG. 4 as an example, for example, for the G region, the starting point of robot #1 is a position on the boundary between (F, G), and the ending point is a position on the boundary between (G, H). The “position on the boundary” in the embodiments of the present application can be a pair of points or a group of points. For example, for the boundary between the F region and the G region, one point (12, 1) of the F region and one point (14, 1) of the G region on the boundary, at this time, the position on the boundary is a pair of points. For another example, for the boundary between the F region and the G region, one point (12, 1) of the F region and one point (14, 1) of the G region on the boundary, one point (12, 2) of the F region and one point (14, 2) of the G region on the boundary, one point (12, 3) of the F region and one point (14, 3) of the G region on the boundary, one point (13, 8) of the F region and one point (15, 8) of the G region on the boundary, and the like, there can be multiple pairs of points on the boundary, and based on the multiple pairs of points, the boundary between adjacent two regions can be positioned more clearly, so that the path planning in the subsequent region can be more accurate.
[0120] 230, determining a path of the terminal device in each region of the N regions according to the respective starting point and ending point of the terminal device in each region of the N regions and the node information corresponding to the N regions.
[0121] The scheme provided by the embodiments of the present application divides the road network map, splits the path planning of the entire road network map into the path planning between regions and the path planning within a region, realizes parallel calculation, and optimizes the performance of the system. Moreover, the combination of global path planning and local path planning is realized, and the accuracy of path planning is improved.
[0122] As described above, when the technical scheme of the embodiments of the present application is jointly executed by multiple computing devices, for example, the step 230 can be executed by each slave server. For example, the central server and each slave server can be distributedly deployed, for example, can be completed through a computing device cluster (as shown in FIG. 1). At this time, the central server can respectively send third information to each of the at least one slave server, the third information including the start point and the end point of the terminal device within at least one region of the N regions, and the node information corresponding to each of the at least one region, wherein each slave server is responsible for the path planning of multiple terminal devices within at least one region. Each slave server respectively determines the path of the terminal device within each of the at least one region according to the received third information.
[0123] For example, each slave server can use the HCA algorithm CBS algorithm to plan the path within the responsible region for each terminal device.
[0124] For example, the slave server #1 can be responsible for the path planning of robots #1-#5 in the region #A, and the slave server #2 can be responsible for the path planning of robots #1-#5 in the region #C and the region #D.
[0125] 240, outputting a target path for the terminal device, the target path including a path within each of the N regions.
[0126] When the technical scheme of the embodiments of the present application is jointly executed by multiple computing devices, for example, each server can respectively output the path within each of the at least one region determined for the terminal device. In one possible implementation, each server can directly output a segment of path determined by the server to the user, at this time, the user can integrate the paths of the terminal devices within each region by himself, thereby constructing the entire path; in another possible implementation, each slave server can output a segment of path determined by the server to a controller, at this time, the controller can integrate the output results of all slave servers, and output the entire path to the user.
[0127] Based on the technical solution, in the embodiment of the present application, N regions can be determined for the terminal device in the M regions of the road network map, and then the path of the terminal device in each of the N regions is determined, so as to realize the path planning for the terminal device. Not only the efficiency of path planning is improved, but also the extensibility and generalization ability of the system are improved by the graph division method provided by the present application.
[0128] As described above, the technical solution provided by the embodiment of the present application can be jointly executed by the central server and the plurality of slave servers. The technical solution of the embodiment of the present application in this scenario is described below in combination with FIG. 5. FIG. 5 is a schematic flow chart of a path planning method 500 provided by the embodiment of the present application. The method 500 is similar to the method 200 described above, and the main difference is that in the method 200, one computing device can realize the entire technical solution, while in the method 500, the central server is responsible for dividing the road network map into M regions, determining N regions in the M regions, and determining the start point and the end point in each of the N regions. Each slave server is used to plan the path in the region responsible by the slave server. In other words, in the method 500, multiple computing devices are jointly used to realize the entire technical solution. Compared with the method 200, the method 500 can reduce the computing amount of the computing device and protect the system performance of the computing device.
[0129] As shown in FIG. 5, optionally, the central server can acquire the second information, step 510; optionally, the central server divides the road network map into M regions according to the second information, step 520; the central server acquires the first information, step 530; the central server determines N regions and the respective start point and end point of the terminal device in each of the N regions according to the acquired first information, step 540. Subsequently, the central server can send the respective start point and end point of the terminal device in each of the N regions, and the respective node information corresponding to the N regions, to the corresponding slave server; each slave server respectively plans a path for the terminal device in each of the regions, step 550; and outputs the path of the terminal device, step 560. The output path of the terminal device can be: the path in each region determined by each slave server, or the target path obtained by integrating the paths in each region determined by each server. For example, assuming that the N regions are three, the slave server #1 is responsible for path planning in region #1, the slave server #2 is responsible for path planning in region #2, and the slave server #3 is responsible for path planning in region #3, the central server can send the start point, the end point in region #1, and the node information corresponding to region #1 to the slave server #1; the central server can send the start point, the end point in region #2, and the node information corresponding to region #2 to the slave server #2; and the central server can send the start point, the end point in region #3, and the node information corresponding to region #3 to the slave server #3.
[0130] The explanation and acquisition method of the first information and the second information in the method 500 can refer to the description in the method 200, and will not be repeated. In addition, the process of dividing the map and the process of determining the N regions in the method 500 can refer to the description of the method 200.
[0131] It should be noted that the order between step 510 and step 530 in the method 500 is not limited.
[0132] The technical solutions in the embodiments of the present application can also be completed by deploying on a cloud system (as shown in FIG. 6). At this time, for example, the cloud management platform in the cloud service system includes a central server, wherein the cloud management platform is used to manage the infrastructure providing cloud services, the infrastructure includes at least one cloud data center, and each cloud data center in the at least one cloud data center includes at least one slave server. For another example, the cloud management platform in the cloud service system is used to manage the infrastructure providing cloud services, the infrastructure includes at least one cloud data center, and each cloud data center in the at least one cloud data center includes at least one server, and the at least one server includes the first information and the second information. The deployment form of the central server and the slave server in the cloud service system is not limited in the embodiments of the present application.
[0133] FIG. 6 is a schematic diagram of a cloud service scenario to which embodiments of the present application are applicable. As shown in FIG. 6, the cloud scenario can include a cloud management platform 610, the Internet 620, and a client 630. As shown in FIG. 6, the cloud management platform 610 is configured to manage infrastructure that provides a plurality of cloud services. The infrastructure includes a plurality of cloud data centers, each of which includes a plurality of servers, and each of the servers includes cloud service resources, which provide corresponding cloud services for tenants.
[0134] The cloud management platform 610 can be located in a cloud data center, which can provide an access interface (such as an interface or an application program interface (API)). A tenant can remotely access the access interface to register a cloud account and a password at the cloud management platform 610 by operating the client 630, and log in to the cloud management platform 610. After the cloud management platform 610 authenticates the cloud account and the password successfully, the tenant can further select and purchase a virtual machine of a specific specification (processor, memory, disk) at the cloud management platform 610 by paying a fee. After the purchase is successful, the cloud management platform 610 provides a remote login account and password of the purchased virtual machine, and the client 630 can remotely log in to the virtual machine, and install and run an application of the tenant in the virtual machine. Therefore, the tenant can create, manage, log in to, and operate a virtual machine in a cloud data center through the cloud management platform 610.
[0135] The functions of the cloud management platform 610 include, but are not limited to, a tenant console, a computing management service, a network management service, a storage management service, an authentication service, and an image management service. The tenant console provides an interface or an API to interact with a tenant, the computing management service is configured to manage servers running virtual machines and containers and bare metal servers, the network management service is configured to manage network services (such as gateways and firewalls), the storage management service is configured to manage storage services (such as data bucket services), the authentication service is configured to manage account and password of a tenant, and the image management service is configured to manage virtual machine images. The tenant can log in to the cloud management platform 610 through the Internet 620 by using the client 630, and manage the rented cloud services.
[0136] FIG. 7 is a schematic block diagram of a computing device 700 according to an embodiment of the present application. As shown in the figure, the computing device 700 can include a path planning module 710, an output module 720, and optionally, a graph division module 730.
[0137] Each of the above modules is configured to perform the steps of the above methods, which will not be described herein again.
[0138] It should also be understood that the computing device 700 here embodies in the form of functional units. The term "unit" here can refer to an application specific integrated circuit (ASIC), an electronic circuit, a processor (such as a shared processor, a dedicated processor or a group processor, etc.) and a memory for executing one or more software or firmware programs, a combination of logic circuit and / or other suitable components supporting the described functions.
[0139] The computing device 700 of each of the above schemes has a function of implementing the corresponding steps of the above method 200, method 500. The function can be implemented by 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, the graph division module 730, etc. can be replaced by a processor to perform the receiving operation and the related processing operation in each method embodiment, respectively. In addition, the path planning module 710, the graph division module 730 can be a processing circuit.
[0140] In a possible implementation, the computing device 700 can be a server device in the cloud management platform shown in FIG. 6, which is applied to the above method 200, method 500, and is used to perform the actions in the above method 200, method 500.
[0141] In a possible implementation, the computing device 700 can be each server device in the data center shown in FIG. 6, which is applied to the above method 200, method 500, and is used to perform the actions in the above method 200, method 500.
[0142] FIG. 8 is a schematic block diagram of another computing device 800 provided by an embodiment of the present application. As shown in the figure, the device 800 includes at least one processor 820. The processor 820 is coupled with a memory, and is used to execute instructions stored in the memory to send and / or receive signals. Optionally, the device 800 further includes a memory 830 for storing instructions. Optionally, the device 800 further includes a transceiver 810, and the processor 820 controls the transceiver 810 to send and / or receive signals.
[0143] It should be understood that the above processor 820 and memory 830 can be combined into one processing device, and the processor 820 is used to execute program codes stored in the memory 830 to implement the above functions. In a specific implementation, the memory 830 can also be integrated in the processor 820, or independent of the processor 820.
[0144] It should also be understood that the transceiver 810 can include a transceiver (or receiver) and a transmitter (or transmitter). The transceiver can further include an antenna, and the number of antennas can be one or more. The transceiver 810 can be a communication interface or interface circuit.
[0145] In particular, the processor 820 in the device 800 can correspond to the path planning module 710 or the graph partitioning module 730 in the device 700. The transceiver 810 in the device 800 can correspond to the output module 720 in the device 700.
[0146] For example, the processor 820 is configured to execute computer programs or instructions stored in the memory 830 to implement the steps in the above method 200, method 500.
[0147] It should be understood that in the embodiments of the present application, if the above technical solution 200 is implemented by a central server and a plurality of slave servers, the computing device 700 or the computing device 800 can be understood as a computing system, which includes the central server and the plurality of slave servers.
[0148] FIG. 9 is a schematic diagram of an architecture of a computing device cluster according to an embodiment of the present application. The computing device cluster includes at least one computing device. The 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 notebook computer, or a smart phone. As shown in FIG. 9, the computing device cluster includes at least one computing device 900. The memory 930 in one or more computing devices 900 in the computing device cluster can store the same instructions for performing the actions described in the above embodiments 200, method 500.
[0149] In some possible implementations, the memory 930 in one or more computing devices 900 in the computing device cluster can also respectively store partial instructions for performing the actions described in the above embodiments 200, method 500. In other words, the combination of one or more computing devices 900 can collectively execute the instructions for performing the actions described in the above embodiments.
[0150] It should be noted that the memory 930 in different computing devices 900 in the computing device cluster can store different instructions for performing partial functions of the computing device 900. That is, the instructions stored in the memory 930 in different computing devices 900 can implement the functions of one or more of the path planning module 710, the output module 720, or the graph partitioning module 730.
[0151] Alternatively, the memories 930 in different computing devices 900 in the computing device cluster can store different instructions, respectively, for performing the above-described corresponding partial functions of the computing devices 700-800. That is, the memories 930 in different computing devices 900 store instructions that can implement the functions of one or more of the path planning module 710, the output module 720, or the graph partitioning module 730.
[0152] In some possible implementations, one or more computing devices in the computing device cluster can be connected through a network. The network can be a wide area network, a local area network, or the like. FIG. 10 illustrates one possible implementation. As shown in FIG. 10, two computing devices 900A and 900B are connected through a network. Specifically, the computing devices are connected to the network through the communication interfaces in the computing devices.
[0153] It should be understood that the functions of the computing device 900A shown in FIG. 10 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.
[0154] In embodiments of the present application, a computer program product containing instructions is also provided. The computer program product can be software or a program product containing instructions that can be run on a computing device cluster or stored in any available media. When executed by the computing device cluster, the computer program product causes the computing device cluster to perform the above-described provided method, or causes the computing device cluster to implement the functions of the above-described provided apparatus.
[0155] In embodiments of the present application, a computer readable storage medium is also provided. The computer readable storage medium can be any available media that can be accessed by a computing device or a data storage device such as a data center containing one or more available media. The available media can be a magnetic medium (e.g., a floppy diskette, a hard disk drive, a magnetic tape), an optical medium (e.g., a digital video disc (DVD)), or a semiconductor medium (e.g., a solid state hard drive), or the like. The computer readable storage medium includes instructions that, when executed on a computing device, cause the computing device to perform the above-described provided method.
[0156] Those skilled in the art can realize that the units and algorithm steps of each example described in connection with the embodiments disclosed herein can be realized by electronic hardware, or a combination of computer software and electronic hardware. Whether the functions are performed by 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 the present application.
[0157] Those skilled in the art can clearly understand that, for the convenience and brevity of description, the specific working processes of the above-described system, device and unit can refer to the corresponding processes in the foregoing method embodiments, which will not be repeated here.
[0158] In several embodiments provided in the present application, it should be understood that the disclosed system, device and method can be implemented in other ways. For example, the above-described device embodiments are only schematic, for example, the division of the units is only a logical function division, and actual implementation can have another division manner, for example, a plurality of units or components can be combined or integrated into another system, or some features can be ignored or not executed. In addition, the coupling or direct coupling or communication connection between the units shown or discussed can be indirect coupling or communication connection through some interface, device or unit, and can be electrical, mechanical or other forms.
[0159] The units described as separate components can or can not be physically separate, and the components shown as units can or can not be physical units, that is, they can be located in one place, or can be distributed on a plurality of network units. Some or all of the units can be selected according to actual needs to achieve the purpose of the embodiment scheme.
[0160] In addition, each functional unit in each embodiment of the present application can be integrated in one processing unit, or each unit can be physically present separately, or two or more units can be integrated in one unit.
[0161] If the functions are realized in the form of software function units and sold or used as independent products, they can be stored in a computer readable storage medium. Based on this understanding, the technical solutions of the present application or the essential part or part of the technical solutions that make contributions to the prior art can be embodied in the form of a software product. The computer software product is stored in a storage medium, and includes a plurality of instructions for causing a computer device (which can be a personal computer, a server, or a network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of the present application. The foregoing storage medium includes: a U disk, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk or an optical disk, and various program code storage media.
[0162] The above merely provides the specific implementation of the present application, but the protection scope of the present application is not limited to this. Any person skilled in the art can easily think of the changes or replacements within the technical range disclosed by the present application, which should be covered in the protection scope of the present application. Therefore, the protection scope of the present application should be subject to the protection scope of the claims.
Claims
1. A method of path planning, characterized by, The method comprises: obtaining first information, the first information being used to indicate a starting position and a target position of a terminal device on a road network map; determining, according to the first information, N regions and respective starting points and ending points of the terminal device in each of the N regions in M regions of the road network map, the N regions being regions that the terminal device needs to pass through when moving from the starting position to the target position, M being an integer greater than 1, and N being a positive integer less than or equal to M; determining, according to the respective starting points and ending points of the terminal device in each of the N regions, a path of the terminal device in each of the N regions; outputting a target path of the terminal device, wherein the target path comprises the path of the terminal device in each of the N regions.
2. The method of claim 1, wherein, Before the step of determining, according to the first information, the N regions and the respective starting points and ending points of the terminal device in each of the N regions in the M regions of the road network map, the method further comprises: obtaining second information, the second information comprising node information corresponding to the road network map and a number M of regions to be divided in the road network map, wherein the node information is used to indicate a position of each node and a distance between the respective node and each adjacent node, and each of the M regions comprises at least one node; determining, according to the second information, the M regions of the road network map.
3. The method of claim 2, wherein, The step of determining, according to the second information, the M regions of the road network map comprises: merging 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; determining, according to the number M of regions to be divided and the number of nodes included in the coarsened road network map, the coarsened road network map as the M regions; restoring each of the merged nodes in each of the M regions to a plurality of nodes to generate the road network map, wherein the road network map is the M regions.
4. The method of claim 3, wherein, The method further comprises: adjusting boundaries between the M regions in the road network map, and generating adjusted M regions, wherein a boundary cut between the M regions in the adjusted M regions is less than or equal to a boundary cut between the M regions in the unadjusted M regions.
5. The method according to any one of claims 1 to 4, characterized in that, The step of determining, according to the first information, the N regions in the M regions of the road network map comprises: determining, according to the M regions of the road network map and the first information, at least two region sets, each of the at least two region sets comprising at least one region, and the at least one region included in each of the region sets being a region that the terminal device needs to pass through when moving from the starting position to the target position; determining a target region set according to the at least two region sets, wherein the target region set comprises the N regions.
6. The method of claim 5, wherein, The step of determining the target region set according to the at least two region sets comprises: determining respective positions of the at least one region included in each of the region sets. determine a total distance between the at least one region included in each of the region sets according to respective positions of the at least one region included in each of the region sets; determine the target region set according to the total distance between the at least one region included in each of the region sets.
7. The method according to any one of claims 1 to 4, characterized in that, The method comprises: obtain a region division rule, the region division rule being used to indicate N regions in the M regions that need to be passed through by the terminal device when the terminal device moves from the starting position to the target position; the determining of the N regions in the M regions of the road network map according to the first information comprises: determining the N regions in the M regions of the road network map according to the region division rule.
8. The method according to any one of claims 1 to 7, wherein: 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 a position on a boundary between adjacent two 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 a position on a boundary between adjacent two regions.
9. The method according to any one of claims 1 to 8, characterized in that, determine a path of the terminal device in each of the N regions according to the respective starting point and ending point of the terminal device in each of the N regions, the determining comprising: determine a path of the terminal device in each of the N regions according to the respective 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.
10. A computing device, comprising: comprise: a path planning module and an output module, wherein the path planning module is configured to obtain first information, the first information being used to indicate a starting position and a target position of a terminal device in a road network map; the path planning module is configured to determine N regions in M regions of the road network map and respective starting points and ending points of the terminal device in each of the N regions according to the first information, the N regions being regions that need to be passed through by the terminal device when the terminal device moves from the starting position to the target position, the M being an integer greater than 1, and the N being a positive integer less than or equal to the M; the path planning module is configured to determine a path of the terminal device in each of the N regions according to the respective starting point and ending point of the terminal device in each of the N regions; the output module is configured to output a target path of the terminal device, wherein the target path comprises the path of the terminal device in each of the N regions.
11. The computing device of claim 10, wherein, The computing device further comprises a graph division module, the graph division module is configured to obtain second information, the second information comprising node information corresponding to the road network map and a number M of regions that need to be divided in the road network map, wherein the node information is used to indicate a position of each node and a distance between each node and each adjacent node, and each of the M regions comprises at least one node; The graph division module is configured to determine M regions of the road network map according to the second information.
12. The computing device of claim 11, wherein, The graph division module is configured to determine M regions of the road network map according to the second information, including: The graph division module is configured 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 configured to determine the coarsened road network map as the M regions according to the number M of regions to be divided and the number of nodes included in the coarsened road network map. The graph division module is configured to restore each node in each of the M regions to a plurality of nodes respectively to generate the road network map, wherein the road network map is the M regions.
13. The computing device of claim 12, wherein, The graph division module is further configured to adjust boundaries between regions in the M regions of the road network map, and generate adjusted M regions, wherein a cut between regions in the adjusted M regions is less than or equal to a cut between regions in the M regions before adjustment.
14. The computing device of any of claims 10 to 13, wherein, The path planning module is configured to determine N regions in M regions of a road network map according to first information, including: The path planning module is configured to determine at least two region sets according to the 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 of the region sets being a region to be passed through by the terminal device from the starting position to the target position. The path planning module is configured to determine a target region set according to the at least two region sets, wherein the target region set includes the N regions.
15. The computing device of claim 14, wherein, The path planning module is configured to determine a target region set according to the at least two region sets, including: The path planning module is configured to determine a corresponding position of the at least one region included in each of the region sets. The path planning module is configured to determine a total distance between the at least one region included in each of the region sets according to the corresponding position of the at least one region included in each of the region sets. The path planning module is configured to determine the target region set in the at least two region sets according to the total distance between the at least one region included in each of the region sets.
16. The computing device of any one of claims 10 to 13, wherein, The path planning module is further configured to obtain a region division rule, the region division rule being used to indicate N regions in the M regions to be passed through by the terminal device from the starting position to the target position. The path planning module is configured to determine N regions in M regions of a road network map according to first information, including: The path planning module is configured to determine the N regions in the M regions of the road network map according to the region division rule.
17. The computing device of any of claims 10-16, wherein: the start point of the terminal device in each of the N regions is a start location of the terminal device, or the start point of the terminal device in each of the N regions is a location on a boundary between adjacent two regions; the end point of the terminal device in each of the N regions is an end location of the terminal device, or the end point of the terminal device in each of the N regions is a location on a boundary between adjacent two regions.
18. The computing device of any of claims 10 to 17, wherein, The path planning module is configured to determine a path of the terminal device in each of the N regions according to the respective start point and end point of the terminal device in each of the N regions. The path planning module is configured to determine a path of the terminal device in each of the N regions according to the respective start point and end point of the terminal device in each of the N regions and the respective node information of each of the N regions.
19. A cluster of computing devices, characterized in that, at least one computing device, each computing device comprising 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 to cause the cluster of computing devices to perform the method of any of claims 1-9.
20. A computer program product comprising instructions, characterized in that, The instructions, when executed by the cluster of computing devices, cause the cluster of computing devices to perform the method of any of claims 1-9.
21. A computer-readable storage medium, characterized in that, computer program instructions, which, when executed by a cluster of computing devices, cause the cluster of computing devices to perform the method of any of claims 1-9.
Citation Information
Patent Citations
Robot path planning method and device, terminal equipment and storage medium
CN111813101A
Road traffic network block division method based on complex network
CN112990352A
Path planning method and device, electronic equipment and storage medium
CN113190766A
Navigation path planning method and device, server and storage medium
CN113390423A
Robot path planning method, device and equipment, storage medium and program product
CN114675656A