Path planning method and device, equipment and storage medium

By dividing the global map into multiple submaps and using topological maps and path search algorithms, the problem of low path planning efficiency in existing technology in large-scale maps and dynamic environments is solved, and more efficient path planning and lower computational complexity are achieved.

CN119714248APending Publication Date: 2025-03-28SHENZHEN GUOCHUANG EMBODIED INTELLIGENT ROBOT CO LTD +1
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
CN202411869141.7
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-12-17
Publication Date
2025-03-28

AI Technical Summary

Technical Problem

The prior art has significant shortcomings in large-scale maps, multi-robot collaborative operations, and dynamic environment adaptability, especially in unknown environments, it is prone to failures and is highly dependent on sensor data, making it difficult to cope with dynamic obstacles or insufficient information.

Method used

By dividing the global map into multiple submaps, the path planning is reduced from the full map to the nodes between the submap and channels, and the topological map and path search algorithm are used to generate target planning paths, reducing the computational complexity and improving path planning efficiency.

Benefits of technology

It effectively avoids non-optimal paths caused by unreasonable cost function design, reduces the computational complexity of large-scale maps, improves the path planning efficiency under large maps, and improves the transportation efficiency of robots in dynamic and complex environments.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119714248A_ABST
    Figure CN119714248A_ABST
Patent Text Reader

Abstract

The embodiment of the invention discloses a path planning method and device, equipment and a storage medium. The method comprises the steps of obtaining a first identifier of a sub-map where a robot is currently located and a second identifier of a sub-map where a target point is located in a topological map; the topological map comprises a plurality of sub-maps; determining a middle sub-map set which needs to be passed from the sub-map corresponding to the first identifier to the sub-map corresponding to the second identifier; and generating a target planning path from the current position of the robot to the position of the target point by using a path search algorithm according to the intermediate sub-map set. A large map is divided into a plurality of sub-maps, global search does not need to be carried out on the whole map, and only the target path needs to be generated by utilizing a path search algorithm on the basis of a middle sub-map set, so that a non-optimal path caused by unreasonable cost function design is effectively avoided, meanwhile, the calculation complexity of the large-scale map is reduced, and the path planning efficiency is improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The embodiments of the present application relate to the field of robotics technology, and in particular to path planning methods, devices, equipment, and storage media. Background Art

[0002] With the rapid development of factory automation and computer integrated manufacturing system technology, as well as the widespread application of flexible manufacturing systems and automated warehouses, robots (such as automatic guided vehicles (AGVs), mobile robots, etc.) as key tools in discrete logistics systems can efficiently realize the automation of material handling and loading and unloading tasks, and are an important part of modern intelligent manufacturing and smart logistics systems.

[0003] Currently, path planning technology widely uses a variety of algorithms to meet the needs of complex scenarios. Among them, the local obstacle avoidance path planning algorithm mainly adjusts the route by sensing changes in the environment, but it relies on global parameters, especially in unknown environments, and its bug algorithm structure is relatively simple, and it is highly dependent on sensor data, making it difficult to deal with dynamic obstacles or insufficient information. The Dijkstra algorithm has a high time complexity, and the computational cost is extremely high when used in large-scale maps, and the efficiency is relatively low. The A* algorithm optimizes path selection through a cost function. However, if the cost function is not set reasonably, it may cause the path to be too long. At the same time, its rasterization scheme will increase computational complexity and node redundancy in high-precision scenarios.

[0004] The above problems show that the existing technology has significant shortcomings in large-scale maps, multi-robot collaborative operations and adaptability to dynamic environments. Summary of the invention

[0005] Based on the above problems, the embodiments of the present application provide a path planning method, device, equipment and storage medium, the purpose of which is to improve the transportation efficiency of robots in dynamic and complex factory environments while reducing the requirements for computing resources.

[0006] In a first aspect, an embodiment of the present application provides a path planning method, including:

[0007] In the topological map, a first identifier of the sub-map where the robot is currently located and a second identifier of the sub-map where the target point is located are obtained; wherein the topological map includes a plurality of the sub-maps;

[0008] Determine a set of intermediate submaps required to reach the submap corresponding to the second identifier from the submap corresponding to the first identifier;

[0009] According to the intermediate sub-map set, a target planning path is generated from the current position of the robot to the position of the target point using a path search algorithm.

[0010] In one embodiment, the method for obtaining the topological map includes:

[0011] Build a two-dimensional map based on location coordinates;

[0012] Dividing the two-dimensional map into a plurality of sub-maps; each of the sub-maps is connected to at least one other sub-map;

[0013] A topological map is constructed for the plurality of sub-maps; channels are arranged between the sub-maps in the topological map, and the channels are correspondingly arranged with a congestion degree.

[0014] In one embodiment, determining a set of intermediate submaps required to reach a submap corresponding to the second identifier from the submap corresponding to the first identifier includes:

[0015] According to the submap corresponding to the first identifier and the submap corresponding to the second identifier, path planning is performed in the topological map using the Dijkstra algorithm to obtain a set of intermediate submaps that the robot needs to pass through to reach the target point.

[0016] In one embodiment, the generating of a target planning path from the current position of the robot to the position of the target point by using a path search algorithm according to the intermediate sub-map set includes:

[0017] If the target submap identifier in the intermediate submap set is the same as the first identifier and the second identifier, or the number of submaps in the intermediate submap set is 1, a path search algorithm is used to plan a target planning path from the current position of the robot to the position of the target point in the submap corresponding to the target submap identifier.

[0018] In one embodiment, the generating of a target planning path from the current position of the robot to the position of the target point by using a path search algorithm according to the intermediate sub-map set includes:

[0019] If there is a submap identifier that is the same as the first identifier and another submap identifier that is the same as the second identifier in the intermediate submap set, or the number of submaps in the submap set is 2, a path search algorithm is used to generate multiple first path trajectories from the robot to a target channel, and multiple second path trajectories from the target channel to the target point; the target channel refers to a channel connecting the submap corresponding to the first identifier and the submap corresponding to the second identifier;

[0020] Based on the congestion level of the target channel and the total length of a combined path formed by combining the first path trajectory and the second path trajectory, a combined path with the shortest travel time is selected as a target planning path.

[0021] In one embodiment, the generating of a target planning path from the current position of the robot to the position of the target point by using a path search algorithm according to the intermediate sub-map set includes:

[0022] If the current position coordinates of the robot and the position coordinates of the target point are separated by multiple submaps, or the number of submaps in the submap set is not less than 3, a path search algorithm is used to generate multiple third path trajectories from the submap where the robot is currently located through the channel to the next submap;

[0023] Determine whether the next sub-map is the sub-map where the target point is located;

[0024] If not, the next submap is used as the new submap where the robot is currently located, and the step of using the path search algorithm to generate multiple third path trajectories from the submap where the robot is currently located through the channel to the next submap is returned to the step of using the path search algorithm to generate multiple third path trajectories from the submap where the robot is currently located through the channel until the next submap is the submap where the target point is located, and then the path search algorithm is used to generate multiple fourth path trajectories from the channel to the target point; wherein the multiple third paths that reach different submaps through the channel are different from each other;

[0025] Based on the congestion degree of the channels between the sub-maps and the total length of the combined path formed by combining the third path trajectory and the fourth path trajectory to reach different sub-maps, the combined path with the shortest travel time is selected as the target planning path.

[0026] In one embodiment, the method for updating the congestion level includes:

[0027] At every preset time interval, the number of robots within a preset scanning radius from each channel is obtained and used as the number of robots near each channel;

[0028] The congestion level of each channel is updated according to the number of robots near each channel.

[0029] In a second aspect, an embodiment of the present application further provides a path planning device, including:

[0030] An acquisition unit, used to acquire, in a topological map, a first identifier of a sub-map where the robot is currently located and a second identifier of a sub-map where a target point is located; wherein the topological map includes a plurality of the sub-maps;

[0031] A determination unit, configured to determine a set of intermediate submaps required to be passed from the submap corresponding to the first identifier to the submap corresponding to the second identifier;

[0032] A generating unit is used to generate a target planning path from the current position of the robot to the position of the target point according to the intermediate sub-map set.

[0033] In a third aspect, an embodiment of the present application further provides a computer device, including:

[0034] CPU, memory, input and output interfaces;

[0035] The memory is a short-term storage memory or a persistent storage memory;

[0036] The central processing unit is configured to communicate with the memory and execute instructions in the memory to perform any one of the above-mentioned path planning methods.

[0037] In a fourth aspect, an embodiment of the present application further provides a computer-readable storage medium on which a computer program is stored. When the computer program is executed by a processor, any one of the above-mentioned path planning methods is executed.

[0038] It can be seen from the above technical solutions that the embodiments of the present application have the following advantages:

[0039] The embodiment of the present application divides the global map into multiple sub-maps, reduces the path planning from the whole map to the nodes between the sub-maps and channels, reduces the generation of redundant nodes, and also reduces the calculation scale of path planning. And after dividing into multiple sub-maps, there is no need to perform a global search on the entire map. It is only necessary to use the path search algorithm based on the set of intermediate sub-maps to generate the target path, effectively avoiding the non-optimal path caused by unreasonable cost function design, while reducing the calculation complexity of large-scale maps and improving the efficiency of path planning under large maps. BRIEF DESCRIPTION OF THE DRAWINGS

[0040] In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the drawings required for use in the embodiments or the description of the prior art will be briefly introduced below. Obviously, the drawings described below are only embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on the provided drawings without paying creative work.

[0041] Figure 1 A schematic diagram of a path planning method flow provided in an embodiment of the present application;

[0042] Figure 2 A schematic diagram of an XML file for map splitting provided in an embodiment of the present application;

[0043] Figure 3 A schematic diagram of an XML file for channel configuration provided in an embodiment of the present application.

[0044] Figure 4 A schematic diagram of topological map initialization provided in an embodiment of the present application;

[0045] Figure 5 A flowchart of another path planning method provided in an embodiment of the present application.

[0046] Figure 6 A schematic diagram of the structure of a path planning device provided in an embodiment of the present application;

[0047] Figure 7 A schematic diagram of the structure of a computer device provided in an embodiment of the present application. DETAILED DESCRIPTION

[0048] The following will be combined with the drawings in the embodiments of the present application to clearly and completely describe the technical solutions in the embodiments of the present application. Obviously, the described embodiments are only part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of this application.

[0049] With the rapid development of factory automation and computer integrated manufacturing system technology, as well as the widespread application of flexible manufacturing systems and automated warehouses, robots (such as AGVs, mobile robots, etc.), as key tools in discrete logistics systems, can efficiently realize the automation of material handling and loading and unloading tasks, and are an important part of modern intelligent manufacturing and smart logistics systems.

[0050] Currently, path planning technology widely uses a variety of algorithms to meet the needs of complex scenarios. Among them, the local obstacle avoidance path planning algorithm mainly adjusts the route by sensing changes in the environment, but it relies on global parameters, especially in unknown environments, and its bug algorithm structure is relatively simple, and it is highly dependent on sensor data, making it difficult to deal with dynamic obstacles or insufficient information. The Dijkstra algorithm has a high time complexity, and the computational cost is extremely high when used in large-scale maps, and the efficiency is relatively low. The A* algorithm optimizes path selection through a cost function. However, if the cost function is not set reasonably, it may cause the path to be too long. At the same time, its rasterization scheme will increase computational complexity and node redundancy in high-precision scenarios.

[0051] The above problems show that the existing technology has significant shortcomings in large-scale maps, multi-robot collaborative operations and adaptability to dynamic environments.

[0052] Based on this, in each embodiment of the present application, the large map is divided into multiple sub-maps, and then the channels between each sub-map are defined, such as the entrance and exit of each sub-map. Then the exit point of the current small map where the robot is currently located is found, and the A* algorithm is used to find the path to the exit point, and then move to the entrance point of the next sub-map. After entering the next sub-map, the robot can continue to find the exit path of the next sub-map, and after reaching the exit point, it moves to the entrance of the next map. If the next small map is not the map where the end point is located, repeat the above steps; if it is the small map where the end point is located, use the A* algorithm to find the path to the end point.

[0053] The various embodiments of the present application are described in further detail below in conjunction with the accompanying drawings.

[0054] The present application embodiment provides a path planning method, such as Figure 1 As shown, the method includes steps S101-S103.

[0055] S101: In a topological map, obtaining a first identifier of a sub-map where the robot is currently located and a second identifier of a sub-map where a target point is located; wherein the topological map includes a plurality of sub-maps;

[0056] It can be understood that a topological map is an abstract form of map representation, which mainly includes the logical relationship between nodes and edges in a map. In the embodiment of the present application, the nodes in the map can be understood as the sub-maps divided from the large map, and the edges represent the connection relationship or channel between adjacent sub-maps. The entire topological map is composed of multiple sub-maps, which are interconnected by channels to form a complete topological structure. Each sub-map has its own identification (number or name) for positioning and calculation in subsequent path planning. By obtaining the sub-map to which the current position of the robot belongs, and the sub-map where the target point is located, it is possible to clearly know where the robot starts path planning and the end position of the path planning.

[0057] The embodiment of the present application determines the submap where the starting point of the path planning is located (the first identifier) ​​and the submap where the end point is located (the second identifier), and relies on the submap division in the topological map to efficiently perform localized path planning and avoid the computational complexity caused by global search.

[0058] S102: Determine a set of intermediate submaps required to reach a submap corresponding to a second identifier from a submap corresponding to a first identifier;

[0059] Here, the intermediate submap set can be understood as a set of all submaps that need to be passed through in the path from the starting submap to the end submap. The submaps in the intermediate submap set are part of the path, represented as submap logical nodes from the first identifier to the second identifier. The submaps in these intermediate submap sets are connected to the submaps where the starting and end points are located through channel distribution.

[0060] In practical applications, the relationship between submaps and channels in the topological map can be used to calculate the initial path from the submap corresponding to the first identifier to the submap corresponding to the second identifier through a path search algorithm (such as the Dijkstra algorithm or the A* algorithm). On this initial path, except for the submap where the starting point is located and the submap where the target point is located, all submaps are intermediate submap sets. Exemplarily, the submap corresponding to the first identifier is submap A, and the submap corresponding to the second identifier is submap D. The topological map structure is as follows: A-B-C-D, and from A to D, it is necessary to pass through two submaps: submap B and submap C, then the intermediate submap set = {B, C}.

[0061] It can be understood that in the above path planning process, the path framework from the starting point to the target point can be calculated first according to the logical relationship between the sub-maps. Later, in a dynamic environment, the path trajectory in each sub-map can be refined and adjusted according to the intermediate sub-map set and channel, which can reduce the complexity of global path planning.

[0062] S103: Based on the intermediate sub-map set, a target planning path is generated from the current position of the robot to the position of the target point using a path search algorithm.

[0063] The intermediate submap set provides the starting point, end point and list of submaps passed through. Therefore, the intermediate submap set can be used as the logical framework of the target planning path, decomposing the path planning problem into path search between submaps, thereby reducing the computational complexity.

[0064] Then, a path search algorithm is used to generate a target planning path from the starting point to the target point between the intermediate sub-map sets. This path not only includes the channel path between the sub-maps, but also generates a specific route within the sub-map to form a complete planning path, thereby providing specific path guidance for robot navigation and realizing efficient and flexible path planning.

[0065] The embodiment of the present application divides the global map into multiple sub-maps, reduces the path planning from the whole map to the nodes between the sub-maps and channels, reduces the generation of redundant nodes, and also reduces the calculation scale of path planning. And after dividing the multiple sub-maps, there is no need to perform a global search on the entire map. It is only necessary to use the path search algorithm based on the set of intermediate sub-maps to generate the target path, effectively avoiding the non-optimal path caused by unreasonable cost function design, while reducing the calculation complexity of large-scale maps and improving the efficiency of path planning under large maps.

[0066] In one embodiment, a method for obtaining a topological map includes: constructing a two-dimensional map based on location coordinates; dividing the two-dimensional map into multiple sub-maps; each sub-map is connected to at least one other sub-map; constructing a topological map for multiple sub-maps; and channels are set between each sub-map in the topological map, and the channels are correspondingly set with a congestion level.

[0067] Before planning a route, you need to prepare the map and divide it into reasonable blocks. The following is the detailed implementation process of map division:

[0068] 1. Collect data based on the on-site environment and generate an original map. The original map is a geometric map based on the actual location coordinates.

[0069] 2. Split the XML file according to the preset map, divide the original map into multiple sub-maps, and assign a unique number to each sub-map.

[0070] The map splitting XML file contains sub-map division rules and information (such as sub-map numbers and boundary coordinates). For details, see Figure 2 It should be pointed out that Figure 2 The specific data filled in is only an example and is only used to illustrate the filling specifications of the map splitting XML file.

[0071] In practical application, Figure 2 The sub-land Figure 1 (i.e. map id = "1"), you can also set the left boundary (x_min) to -1000, indicating that the sub-map Figure 1 The left boundary is x=-1000; the right boundary (x_max) is set to 1, indicating that the sub-area Figure 1 The right boundary is x=1; the lower boundary (y_min) is set to -1000, indicating that the sub-area Figure 1 The bottom boundary is y=-1000; the upper boundary (y_max): 1, indicating a sub-area Figure 1 The upper boundary of Figure 1 This can Figure 2 The sub-land Figure 2 (ie map id="2") is adjacent.

[0072] 3. According to the relative position relationship between the submaps, connect them with undirected edges to generate an undirected graph.

[0073] The undirected graph contains the connection relationship between each sub-map, providing high-level sub-map path information for path planning. For details, see Figure 4 The division process, Figure 4 The top middle part is a two-dimensional map of the on-site environment, which is a complete map with geometric coordinates. Figure 4 The middle part is the result of the original map being divided into multiple sub-map areas, in which the sub-map numbers and the channel connection relationship between the sub-maps are marked, and the channels connecting the sub-maps are represented by blue arrows. For example, sub-map 1 is connected to sub-map 3 through a channel, sub-map 2 is connected to sub-map 3 through multiple channels, and sub-map 3 is connected to sub-map 4 through a channel. Figure 4 The bottom part is the topological map. Figure 4 The topological map is also called the top-level map, and the sub-map numbers are also abstracted as circular nodes. The connection relationship between nodes is represented by undirected edges, reflecting the channel connection relationship between sub-maps. The top-level map (topological map) provides an abstract representation that does not focus on the geometric coordinates of the map, but only describes the logical relationship between sub-maps. This makes it easier to perform global path planning, thereby finding the optimal initial path from the starting sub-map to the target sub-map.

[0074] 4. Set the channel information between sub-maps by reading the channel configuration XML file.

[0075] Specifically, the congestion level of all channels can be set to 0 in the initial state, indicating no congestion. For the specific channel configuration XML file format, see Figure 3 , Figure 3 middle<bridge id="1"> etc. are bridge tags. A bridge tag represents a channel. The bridge id is the unique identifier of the channel.<first_map_id> and<second_map_id> etc. are the submap numbers that the channel connects to.<first_x> and<first_y> Define the channel in the sub-area Figure 1 The coordinate position in the sub-area indicates that the channel is Figure 1 The exit coordinates.<second_x> and<second_y> Defines the channel in the sub-area Figure 2 The coordinate position in the sub-area indicates that the channel is Figure 2 The entrance coordinates.

[0076] The path planning algorithm can calculate the path from one submap to another submap through the above channel information. If the channel changes (such as the congestion level changes or it is occupied), the channel configuration XML file can be updated to reflect the latest status of the current environment.

[0077] 5. Set the congestion level of the channel (such as low, medium, and high), and define different robot travel times for each congestion level. This can provide dynamic parameters for path planning.

[0078] The existing path planning algorithm has limitations on the number of robots. When the number of robots exceeds a certain threshold, the system performance will drop significantly, making it difficult to meet the needs of large-scale collaborative operations. Therefore, the robot's path can be adjusted according to the congestion level of the set channel to avoid the problem that the robot only chooses the same channel based on the distance, resulting in channel congestion and poor effect when the target planning path is implemented by the robot.

[0079] 6. Use the A* algorithm to generate a specific path for each channel in the sub-map, and calculate and store the path length.

[0080] It should be noted that the embodiment of the present application only performs path planning when there is a connection relationship between two channels; if the two channels are connected to two identical maps, no planning is performed. In addition, if the sub-map information changes (such as channel changes or obstacle updates), the path needs to be replanned and the stored information needs to be updated, and the length of the path needs to be counted and the path and path length need to be stored.

[0081] In one embodiment, determining a set of intermediate submaps required to be traversed from a submap corresponding to a first identifier to a submap corresponding to a second identifier includes: performing path planning using a Dijkstra algorithm in a topological map according to the submap corresponding to the first identifier and the submap corresponding to the second identifier, and obtaining a set of intermediate submaps required for the robot to pass through to reach a target point.

[0082] The aforementioned embodiment mentioned that the topological map is an abstract undirected graph, the nodes represent submaps, and the edges represent channels. The weight between nodes is usually the distance or time of the channel, and there is no specific geometric position. It can be understood that the Dijkstra algorithm is a classic single-source shortest path algorithm that can ensure that the global optimal solution is found in the weighted graph, that is, the path between the submaps is the shortest. In the topological map, the performance of the Dijkstra algorithm is usually comparable to other path search algorithms, such as the A* algorithm, but the advantages of algorithms such as A* are reflected in reducing unnecessary node expansion, and when the number of nodes in the topological map is small, this advantage is not obvious. The use of the Dijkstra algorithm can more simply implement path planning without the need to design additional heuristic functions. At this time, the computational complexity can be reduced and the efficiency of path planning can be accelerated.

[0083] For example, please combine Figure 5 understand, Figure 5 This is a flow chart of another path planning method. The following will explain the process of using different path search algorithms to generate a target planning path from the current location of the robot to the location of the target point:

[0084] In one embodiment, a target planning path from the current position of the robot to the position of the target point is generated using a path search algorithm based on the intermediate submap set, including: if the target submap identifier in the intermediate submap set is the same as the first identifier and the second identifier, or the number of submaps in the intermediate submap set is 1, then using the path search algorithm to plan a target planning path from the current position of the robot to the position of the target point in the submap corresponding to the target submap identifier.

[0085] In this embodiment, the target submap identifier of the intermediate submap set is the same as the first identifier and the second identifier, or the number of submaps in the intermediate submap set is 1, which means that the path start point and the end point are both in the same submap, and do not involve crossing other submaps, so there is no need to plan an intermediate path. When any of the above conditions is met, a path search algorithm (such as an A* algorithm) can be directly used to plan a path from the current position of the robot to the target point position in the submap.

[0086] In another embodiment, a target planning path from the current location of the robot to the location of the target point is generated using a path search algorithm based on an intermediate submap set, including: if there is a submap identifier that is the same as the first identifier and another submap identifier that is the same as the second identifier in the intermediate submap set, or the number of submaps in the submap set is 2, then a path search algorithm is used to generate multiple first path trajectories from the robot to the target channel, and multiple second path trajectories from the target channel to the target point; the target channel refers to the channel connecting the submap corresponding to the first identifier and the submap corresponding to the second identifier; based on the congestion level of the target channel and the total length of the combined path formed by the first path trajectory and the second path trajectory, the combined path with the shortest travel time is selected as the target planning path.

[0087] Here, the condition "there is a submap identifier in the intermediate submap set that is the same as the first identifier and another submap identifier that is the same as the second identifier" means that one submap in the intermediate submap set is the submap to which the robot is currently located, and the other submap is the submap where the target point is located, that is, the two submaps are adjacent. The condition "the number of submaps in the intermediate submap set is 2" means that the starting point and the end point of the path are in two submaps respectively, that is, the two submaps are adjacent.

[0088] When any of the above conditions is met, segmented path planning is performed. Specifically, in the submap corresponding to the first identifier, a path from the current position of the robot to the target channel is planned. And in the submap corresponding to the second identifier, a path from the target channel to the target point is planned. Then, according to the congestion level of the target channel and the total length of the combined path (composed of the first path trajectory and the second path trajectory), the travel time is calculated. Finally, the combined path with the shortest travel time is selected as the final target planning path.

[0089] In the embodiment of the present application, decomposing the global path planning into local path planning in two sub-maps can further reduce the computational complexity. In path planning with moderate complexity (such as the map scale of two sub-maps), it can effectively improve efficiency and adaptability while taking into account the dynamic optimization requirements of the global path planning.

[0090] In one embodiment, a target planning path is generated from a current position of the robot to a position of a target point using a path search algorithm according to a set of intermediate submaps, including: if the current position coordinates of the robot and the position coordinates of the target point are separated by multiple submaps, or the number of submaps in the submap set is not less than 3, a path search algorithm is used to generate multiple third path trajectories from the submap where the robot is currently located through a channel to the next submap; whether the next submap is the submap where the target point is located; if not, the next submap is used as the new submap where the robot is currently located, and the step of using the path search algorithm to generate multiple third path trajectories from the submap where the robot is currently located through the channel to the next submap is returned to the step of using the path search algorithm to generate multiple third path trajectories from the submap where the robot is currently located through the channel to the next submap, until the next submap is the submap where the target point is located, and a path search algorithm is used to generate multiple fourth path trajectories from the channel to the target point; wherein the multiple third paths that reach different submaps through the channel are different from each other; based on the congestion degree of the channel between each submap and the total length of the combined path composed of the third path trajectories and the fourth path trajectories that reach different submaps, the combined path with the shortest travel time is selected as the target planning path.

[0091] The embodiment of the present application can be regarded as a path planning scenario for a robot to cross multiple submaps from the current position to the target point. When any of the conditions of "Condition 1: The current position of the robot and the position of the target point are between multiple submaps" or "Condition 2: The number of submaps in the intermediate submap set is not less than 3 (involving 3 or more submaps)" is met, the path search algorithm can be used to plan multiple paths (i.e., the third path trajectory) for the robot to reach the channel entrance of the next submap from the current position through the channel exit of the submap where the robot is located. If the next submap currently reached is not the submap where the target point is located, the next submap is set as the new current submap, and the process returns to the first step (i.e., "using the path search algorithm to plan multiple paths for the robot to reach the next submap through the channel from the current submap"), and continue to plan the path from the new current submap to the next submap, and repeat this process until the submap where the target point is located is reached. When the robot reaches the submap where the target point is located, the third path trajectory is stopped, and in the submap where the target point is located, the path search algorithm is used to generate multiple paths (i.e., the fourth path trajectory) from the channel entrance of the submap where the target point is located to the target point.

[0092] For example, assume that the robot is located at the starting point: Figure 1 , coordinates (x=10, y=20). Target point (end point): located in the sub-area Figure 4 , coordinates (x=300, y=400). The topological structure of the initial path from the starting point to the end point is calculated using the Dijkstra algorithm as the sub-region Figure 1 →Zi Di Figure 2 →Zi Di Figure 3 →Zi Di Figure 4 The intermediate submap set is {submap Figure 1 , Zidi Figure 2 , Zidi Figure 3 , Zidi Figure 4}. The channel situation between sub-maps is: Figure 1 Hezidi Figure 2 There are 2 passages between the two; Figure 2 Hezidi Figure 3 There are 3 passages between the sub-districts. Figure 3 Hezidi Figure 4 There is 1 passage between them.

[0093] The first step is path planning (sub-site Figure 1 →Zi Di Figure 2 ): Planning from sub-site Figure 1 Through the sub-land Figure 1 The exit of the passage reaches the sub-land Figure 2 Multiple paths to the entrance (or exit) of the channel (that is, to reach the sub-area Figure 2 multiple third path trajectories).

[0094] Assume that the congestion levels of channel 1 and channel 2 are:

[0095] Channel 1: Crowding level = 0.3, path length = 50.

[0096] Channel 2: Crowding level = 0.8, path length = 40.

[0097] When selecting the target planning path later, you can choose the path through channel 1 to enter the sub-area. Figure 2 .

[0098] The second step is path planning (sub-site Figure 2 →Zi Di Figure 3 ): Continue planning from the sub-site Figure 2 The entrance (or exit) of the channel reaches the sub-land Figure 3 The path to the entrance (or exit) of the channel (that is, the path to the sub-area Figure 3 multiple third path trajectories).

[0099] Assume the congestion levels and path lengths of the three channels:

[0100] Channel 1: Crowding level = 0.2, path length = 60.

[0101] Channel 2: Crowding level = 0.5, path length = 50.

[0102] Channel 3: Crowding level = 0.1, path length = 55.

[0103] When selecting the target planning path later, you can choose the path through channel 3 to enter the sub-area. Figure 3 .

[0104] The third step is path planning (sub-site Figure 3 →Zi Di Figure 4 ): Continue planning from the sub-site Figure 3 The entrance (or exit) of the channel reaches the sub-land Figure 4 The path to the entrance of the channel (that is, to the sub-area Figure 4 multiple third path trajectories).

[0105] Assume there is only 1 channel, path length = 70.

[0106] Step 4 Path Planning (Sub-site Figure 4 Internal path): Planning from sub-site Figure 4 The path from the channel entrance to the target point position (that is, multiple fourth path trajectories)

[0107] By considering the degree of congestion in different channels, as well as the path planning of the first step, the second step, and other steps, the third path trajectory and the fourth path trajectory obtained in each step to reach different sub-maps are arranged and combined to finally obtain different combined paths. The total length and travel time of different combined paths are counted, and finally the path with the shortest comprehensive travel time is selected, which is used as the target planning path and returned to the robot for execution, so that the robot reaches the target point. The embodiment of the present application processes multi-submap scenarios with complex paths through a step-by-step planning method, and selects the optimal path based on the degree of congestion of the channel and the path length, which can improve the efficiency and adaptability of path planning.

[0108] In one embodiment, a method for updating the degree of congestion includes: at every preset time interval, obtaining the number of robots within a preset scanning radius from each channel and using it as the number of robots near each channel; and updating the degree of congestion of each channel according to the number of robots near each channel.

[0109] It can be understood that the congestion level of the channel directly affects the path planning and traffic efficiency. The congestion level is an indicator related to the number of robots, indicating the busyness of the channel. In order to optimize the path selection, the system needs to obtain the congestion level of each channel in real time and adjust the path planning strategy according to the congestion level. Specifically, an independent thread can be started to monitor the congestion level of the channel regularly. The task of this thread is to perform congestion monitoring and update operations at regular intervals. The specific regular time interval can be determined by preset parameters, such as every 1 second or 5 seconds.

[0110] The update process of the congestion degree can refer to the following process:

[0111] First, the number of robots within the preset scanning radius from the channel is obtained. The scanning radius here can also be understood as defining the monitoring range of the channel. The number of robots scanned within the scanning radius is regarded as the number of robots near the channel.

[0112] Then, the channel congestion level is updated according to the number of robots. Specifically, different congestion levels can be defined by setting thresholds. For example, the number of robots corresponding to low congestion is 0-1; the number of robots corresponding to medium congestion is 2-5; the number of robots corresponding to high congestion is greater than 5; or continuous constant values ​​can be used (such as low congestion = 1, medium congestion = 2, high congestion = 3); or the normalized value of the number of robots can be used, that is, if the number of robots monitored by a channel is in the range of [0, 10], normalized to [0, 1]; the number of robots in the current channel a is 2, and the normalized value after normalization = (2-0) / (10-0) = 0.2).

[0113] The above method of monitoring and updating the congestion levels of different channels through threads can effectively improve the scheduling efficiency and operation stability of the robot.

[0114] In order to implement the path planning method of the embodiment of the present application, the embodiment of the present application also provides a path planning device, such as Figure 6 As shown, the device comprises:

[0115] An acquisition unit 601 is used to acquire, in a topological map, a first identifier of a sub-map where the robot is currently located and a second identifier of a sub-map where a target point is located; wherein the topological map includes a plurality of sub-maps;

[0116] A determination unit 602 is used to determine a set of intermediate submaps required to reach the submap corresponding to the second identifier from the submap corresponding to the first identifier;

[0117] The generating unit 603 is used to generate a target planning path from the current position of the robot to the position of the target point according to the intermediate sub-map set.

[0118] In one embodiment, the device further comprises: a map construction unit; the map construction unit is used to construct a two-dimensional map based on the position coordinates;

[0119] The device further includes: a processing unit; the processing unit is used to divide the two-dimensional map into a plurality of sub-maps; each of the sub-maps is connected to at least one other sub-map;

[0120] The map construction unit is further used to construct a topological map for the plurality of sub-maps; channels are arranged between the sub-maps in the topological map, and the channels are correspondingly provided with congestion levels.

[0121] In one embodiment, the generating unit 603 is further used to perform path planning using the Dijkstra algorithm in the topological map according to the submap corresponding to the first identifier and the submap corresponding to the second identifier, so as to obtain a set of intermediate submaps that the robot needs to pass through to reach the target point.

[0122] In one embodiment, the generating unit 603 is further configured to plan a target planning path from the current position of the robot to the position of the target point in the submap corresponding to the target submap identifier by using a path search algorithm if the target submap identifier in the intermediate submap set is the same as the first identifier and the second identifier, or the number of submaps in the intermediate submap set is 1.

[0123] In one embodiment, the generating unit 603 is further configured to generate, by using a path search algorithm, a plurality of first path trajectories from the robot to a target channel, and a plurality of second path trajectories from the target channel to the target point, if there is a submap identifier that is the same as the first identifier and another submap identifier that is the same as the second identifier in the intermediate submap set, or the number of submaps in the submap set is 2; the target channel refers to a channel connecting a submap corresponding to the first identifier and a submap corresponding to the second identifier;

[0124] The determining unit 602 is further configured to select a combined path with the shortest travel time as a target planning path based on the congestion level of the target channel and the total length of a combined path formed by combining the first path trajectory and the second path trajectory.

[0125] In one embodiment, the generating unit 603 is further configured to generate a plurality of third path trajectories from the submap where the robot is currently located through the channel to the next submap by using a path search algorithm if the current position coordinates of the robot and the position coordinates of the target point are separated by multiple submaps, or the number of submaps in the submap set is not less than 3;

[0126] The processing unit is further used to determine whether the next sub-map is the sub-map where the target point is located;

[0127] The processing unit is further configured to, if not, use the next submap as a new submap where the robot is currently located, and return to the step of using a path search algorithm to generate multiple third path trajectories from the submap where the robot is currently located through the channel to the next submap, until the next submap is the submap where the target point is located, and then use the path search algorithm to generate multiple fourth path trajectories from the channel to the target point; wherein the multiple third paths that reach different submaps through the channel are different from each other;

[0128] The determining unit 602 is further configured to select a combined path with the shortest travel time as a target planning path based on the congestion level of the channels between the sub-maps and the total length of a combined path formed by combining the third path trajectory and the fourth path trajectory that reach different sub-maps.

[0129] In one embodiment, the acquisition unit 601 is further used to acquire, at every preset time interval, the number of robots within a preset scanning radius from each channel and use the number of robots near each channel as the number of robots;

[0130] The processing unit is further used to update the congestion level of each channel according to the number of robots near each channel.

[0131] In actual application, the processing unit can be implemented by a processor in a computer device in combination with a communication interface, and the acquisition unit 601, the determination unit 602, and the generation unit 603 can be implemented by a communication interface in a path planning device.

[0132] It should be noted that: the above embodiment provides a path planning device, and only uses the division of the above program modules as an example when performing path planning. In actual applications, the above processing can be assigned to different program modules as needed, that is, the internal structure of the device is divided into different program modules to complete all or part of the processing described above. In addition, the path planning device and the path planning method embodiment provided in the above embodiment belong to the same concept, and the specific implementation process is detailed in the method embodiment, which will not be repeated here.

[0133] Based on the hardware implementation of the above program modules, and in order to implement a path planning method provided in an embodiment of the present application, an embodiment of the present application further provides a computer device, such as Figure 7 As shown, the computer device 700 includes:

[0134] CPU 701, memory 702 and input / output interface 703;

[0135] The memory 702 is a temporary storage memory or a permanent storage memory;

[0136] The central processor 701 is configured to communicate with the memory 702 and execute instructions in the memory 702 to perform any one of the above-mentioned path planning methods.

[0137] Of course, in actual application, the various components in the computer device 700 are coupled together through the bus system 704. It can be understood that the bus system 704 is used to realize the connection and communication between these components. In addition to the data bus, the bus system 704 also includes a power bus, a control bus and a status signal bus. However, for the sake of clarity, Figure 7 Various buses are labeled as bus system 704 .

[0138] The memory 702 in the embodiment of the present application is used to store various types of data to support the operation of the computer device 700. Examples of such data include: any computer program used to operate on the computer device 700.

[0139] It is understandable that when the processor in the computer device described above executes the computer program, it can also implement the functions of the various units in the above-mentioned corresponding device embodiments, which will not be repeated here. Exemplarily, the computer program can be divided into one or more modules / units, one or more modules / units are stored in the memory, and executed by the processor to complete the various embodiments of the present application. One or more modules / units can be a series of computer program instruction segments that can perform specific functions, and the instruction segments are used to describe the execution process of the computer program in the computer device. For example, the computer program can be divided into the various units in the above-mentioned computer device, and each unit can implement the specific functions described in the above-mentioned corresponding computer device.

[0140] The computer device may be a computing device such as a desktop computer, a notebook, a PDA, and a cloud server. The computer device may include, but is not limited to, a processor and a memory. Those skilled in the art will appreciate that the processor and the memory are merely examples of computer devices and do not constitute a limitation on the computer device. The computer device may include more or fewer components, or a combination of certain components, or different components. For example, the computer device may also include input and output devices, network access devices, buses, etc.

[0141] The processor can be a central processing unit (CPU), or other general-purpose processors, digital signal processors (DSP), application-specific integrated circuits (ASIC), field-programmable gate arrays (FPGA) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. A general-purpose processor can be a microprocessor or any conventional processor, etc. The processor is the control center of the computer device, and uses various interfaces and lines to connect various parts of the entire computer device.

[0142] The memory can be used to store computer programs and / or modules. The processor implements various functions of the computer device by running or executing the computer programs and / or modules stored in the memory, and calling the data stored in the memory. The memory can mainly include a program storage area and a data storage area, wherein the program storage area can store an operating system, at least one application required for a function, etc.; the data storage area can store data created according to the use of the terminal, etc. In addition, the memory can include a high-speed random access memory, and can also include a non-volatile memory, such as a hard disk, a memory, a plug-in hard disk, a smart memory card (SMC, Smart Media Card), a secure digital (SD, Secure Digital) card, a flash card (Flash Card), at least one disk storage device, a flash memory device, or other volatile solid-state storage devices.

[0143] An embodiment of the present application further provides a computer-readable storage medium on which a computer program is stored. When the computer program is executed by a processor, any one of the above-mentioned path planning methods is executed.

[0144] An embodiment of the present application also provides a computer program product having a computer program / instruction stored thereon. When the computer program / instruction is executed by a processor, it is used to implement the path planning method described in the first aspect of the embodiment of the present application or any specific implementation method of the first aspect.

[0145] Those skilled in the art can clearly understand that, for the convenience and brevity of description, the specific working processes of the systems, devices and units described above can refer to the corresponding processes in the aforementioned method embodiments and will not be repeated here.

[0146] In the several embodiments provided in the present application, it should be understood that the disclosed systems, devices and methods can be implemented in other ways. For example, the device embodiments described above are only schematic. For example, the division of the units is only a logical function division. There may be other division methods in actual implementation, such as multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be an indirect coupling or communication connection through some interfaces, devices or units, which can be electrical, mechanical or other forms.

[0147] The units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.

[0148] In addition, each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit. The above-mentioned integrated unit may be implemented in the form of hardware or in the form of software functional units.

[0149] If the integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present application is essentially or the part that contributes to the prior art or all or part of the technical solution can be embodied in the form of a software product, and the computer software product is stored in a storage medium, including a number of instructions to enable a computer device (which can be a personal computer, a server, or a network device, etc.) to perform all or part of the steps of the method described in each embodiment of the present application. The aforementioned storage medium includes: U disk, mobile hard disk, read-only memory (ROM, Read-Only Memory), random access memory (RAM, Random Access Memory), disk or optical disk and other media that can store program code.

Claims

1. A path planning method, characterized in that: include: In the topological map, a first identifier of the sub-map where the robot is currently located and a second identifier of the sub-map where the target point is located are obtained; wherein the topological map includes a plurality of the sub-maps; Determine a set of intermediate submaps required to reach the submap corresponding to the second identifier from the submap corresponding to the first identifier; According to the intermediate sub-map set, a target planning path is generated from the current position of the robot to the position of the target point using a path search algorithm.

2. The path planning method according to claim 1, characterized in that: The method for obtaining the topological map includes: Build a two-dimensional map based on location coordinates; Dividing the two-dimensional map into a plurality of sub-maps; each of the sub-maps is connected to at least one other sub-map; A topological map is constructed for the plurality of sub-maps; channels are arranged between the sub-maps in the topological map, and the channels are correspondingly arranged with a congestion degree.

3. The path planning method according to claim 1, characterized in that: The determining of a set of intermediate submaps required to be passed from the submap corresponding to the first identifier to the submap corresponding to the second identifier includes: According to the submap corresponding to the first identifier and the submap corresponding to the second identifier, path planning is performed in the topological map using the Dijkstra algorithm to obtain a set of intermediate submaps that the robot needs to pass through to reach the target point.

4. The path planning method according to claim 1, characterized in that: The method of generating a target planning path from the current position of the robot to the position of the target point by using a path search algorithm according to the intermediate sub-map set includes: If the target submap identifier in the intermediate submap set is the same as the first identifier and the second identifier, or the number of submaps in the intermediate submap set is 1, a target planning path from the current position of the robot to the position of the target point is planned in the submap corresponding to the target submap identifier using a path search algorithm.

5. The path planning method according to claim 1, characterized in that: The method of generating a target planning path from the current position of the robot to the position of the target point by using a path search algorithm according to the intermediate sub-map set includes: If there is a submap identifier that is the same as the first identifier and another submap identifier that is the same as the second identifier in the intermediate submap set, or the number of submaps in the submap set is 2, a path search algorithm is used to generate multiple first path trajectories from the robot to a target channel, and multiple second path trajectories from the target channel to the target point; the target channel refers to a channel connecting the submap corresponding to the first identifier and the submap corresponding to the second identifier; Based on the congestion level of the target channel and the total length of a combined path formed by combining the first path trajectory and the second path trajectory, a combined path with the shortest travel time is selected as a target planning path.

6. The path planning method according to claim 1, characterized in that: The method of generating a target planning path from the current position of the robot to the position of the target point by using a path search algorithm according to the intermediate sub-map set includes: If the current position coordinates of the robot and the position coordinates of the target point are separated by multiple submaps, or the number of submaps in the submap set is not less than 3, a path search algorithm is used to generate multiple third path trajectories from the submap where the robot is currently located through the channel to the next submap; Determine whether the next sub-map is the sub-map where the target point is located; If not, the next submap is used as the new submap where the robot is currently located, and the step of using the path search algorithm to generate multiple third path trajectories from the submap where the robot is currently located through the channel to the next submap is returned to the step of using the path search algorithm to generate multiple fourth path trajectories from the channel to the target point, until the next submap is the submap where the target point is located, and the path search algorithm is used to generate multiple fourth path trajectories from the channel to the target point; wherein the multiple third paths to different submaps through the channel are different from each other; Based on the congestion degree of the passages between the sub-maps and the total length of a combined path formed by combining the third path trajectory and the fourth path trajectory reaching different sub-maps, the combined path with the shortest travel time is selected as the target planning path.

7. The path planning method according to claim 2, characterized in that: The method for updating the congestion level includes: At every preset time interval, the number of robots within a preset scanning radius from each channel is obtained and used as the number of robots near each channel; The congestion level of each channel is updated according to the number of robots near each channel.

8. A path planning device, characterized in that: include: An acquisition unit, used to acquire, in a topological map, a first identifier of a sub-map where the robot is currently located and a second identifier of a sub-map where a target point is located; wherein the topological map includes a plurality of the sub-maps; A determination unit, configured to determine a set of intermediate submaps required to be passed from the submap corresponding to the first identifier to the submap corresponding to the second identifier; A generating unit is used to generate a target planning path from the current position of the robot to the position of the target point according to the intermediate sub-map set.

9. A computer device, characterized in that: include: CPU, memory and input / output interface; The memory is a short-term storage memory or a persistent storage memory; The central processing unit is configured to communicate with the memory and execute instruction operations in the memory to perform the path planning method described in any one of claims 1 to 7.

10. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the path planning method according to any one of claims 1 to 7 is performed.

Citation Information

Patent Citations

  • Robot path planning method based on multiple regions, robot and terminal equipment

    CN111750862A

  • Robot scheduling method based on topological map, distribution equipment and storage medium

    CN117130365A

  • Mobile robot control method, electronic equipment and storage medium

    CN118752475A