A path planning method, device, equipment and storage medium

CN115841197BActive Publication Date: 2026-09-25北京云迹科技股份有限公司
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202211356765.X
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-11-01
Publication Date
2026-09-25
Estimated Expiration
2042-11-01

AI Technical Summary

Benefits of technology

[0030]本发明公开了一种路径规划方法、装置、设备及存储介质。该路径规划方法,包括:确定机器人的任务信息,所述任务信息包括所述机器人的目的地址;获取机器人地图中从源地址到所述目的地址的多条候选路径信息,所述源地址为机器人的当前地址;根据所述候选路径中节点之间的入度信息,确定最短路径。采用本发明的技术方案,依据所述机器人的任务信息规划所述机器人从源地址至目的地址的最短路径;能够在合理的时间内极大地减少计算量,使得所述机器人能够在源地址至取货地址以及从取货地址至目的地址之间的多条候选路径中确定出最短路径,完成所述任务信息;实现了较佳运算效能的同时还提高了机器人的工作效率。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115841197B_ABST
    Figure CN115841197B_ABST
Patent Text Reader

Abstract

The application discloses a path planning method, device and equipment and a storage medium. The path planning method comprises the following steps: determining task information of a robot, wherein the task information comprises a destination address of the robot; acquiring a plurality of candidate path information from a source address to the destination address in a robot map, wherein the source address is a current address of the robot; and determining a shortest path according to in-degree information between nodes in the candidate path. According to the technical scheme of the application, the shortest path from the source address to the destination address of the robot is planned according to the task information of the robot, the calculation amount can be greatly reduced within a reasonable time, the robot can determine the shortest path in a plurality of candidate paths between the source address and the pickup address and between the pickup address and the destination address, and the task information is completed, and the working efficiency of the robot is improved while the operation efficiency is improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of robotics, and in particular to a path planning method, apparatus, device, and storage medium. Background Technology

[0002] In recent years, most robot path planning algorithms have geometrically transformed environmental information into a graph problem, utilizing graph methods to solve the robot path planning problem. Among these, path planning methods based on free-space geometry first construct a skeleton graph description in free space using geometric methods, and then use graph search algorithms to find a feasible shortest path. In this graph, the robot is treated as a point mass for path planning, and the addresses where the robot moves are considered nodes. When the robot passes through various nodes in the graph, the order in which it arrives at different nodes determines the dependencies between them, equivalent to the dependencies between different nodes in a directed graph.

[0003] When the robot plans its path based on task information, it first reaches the node corresponding to the pickup address, and then reaches the node corresponding to the destination address. There is a dependency relationship between the pickup address node and the destination address node. The shortest path is found among the paths that satisfy this dependency. That is, the destination address node depends on the pickup address node, which is represented in the directed graph as a directed edge from the pickup address node to the destination address node. The pickup address node and destination address node in the graph may change depending on the task information, causing the same node to appear multiple times in the path that satisfies the dependency, thus creating a circular dependency. Currently, topological sorting is used to find the shortest path for nodes without circular dependencies, but no shortest path can be found for nodes with circular dependencies. Summary of the Invention

[0004] This invention provides a path planning method, apparatus, device, and storage medium, which solves the problem of obtaining the shortest path when a robot starts from a source address, passes through a pickup address, and arrives at a destination address while performing multiple tasks, and the pickup address changes to the destination address.

[0005] According to one aspect of the present invention, a path planning method is provided, the method comprising:

[0006] Determine the robot's task information, including the robot's destination address;

[0007] Obtain multiple candidate path information from the source address to the destination address in the robot map, where the source address is the robot's current address;

[0008] The shortest path is determined based on the in-degree information between nodes in the candidate paths.

[0009] Optionally, determining the robot's task information further includes:

[0010] The robot's pickup address is determined based on the list of goods at the destination address, and the robot retrieves goods from one or more destination addresses at the pickup address.

[0011] The task information determines the robot's movement from the source address to the pickup address, and from the pickup address to the destination address.

[0012] Optionally, the first path from the source address to the pickup address of the robot precedes the second path from the pickup address to the destination address, where the source address is the robot's current address.

[0013] Optionally, determining the shortest path based on the in-degree information between nodes in the candidate paths includes:

[0014] The first node with an in-degree of 0 in the candidate path is taken as the node in the shortest path, and the first node is removed from the candidate path to obtain a new candidate path.

[0015] The second node with an in-degree of 0 in the new candidate path is taken as a node in the shortest path, and the second node is removed from the new candidate path until there are no nodes with an in-degree of 0 in the final candidate path.

[0016] After deleting each node in the last candidate path, the third node with an in-degree of 0 in the path obtained by deleting the nodes is taken as a node in the comparison path, until there are no nodes with an in-degree of 0; the node in the shortest comparison path is taken as the node in the shortest path.

[0017] Optionally, after deleting each node in the last candidate path, the third node with an in-degree of 0 in the path obtained after deleting the nodes is used as a node in the comparison path, until there are no nodes with an in-degree of 0; the node in the shortest comparison path is used as the node in the shortest path, including:

[0018] Based on the third node, multiple comparison paths are determined that correspond to each node in the final candidate path.

[0019] Determine the path length of each comparison path, wherein the path length is greater than or equal to the number of nodes in the final candidate path;

[0020] Add the third node from the comparison path corresponding to the shortest path length to the node sequence of the shortest path.

[0021] Furthermore, it also includes:

[0022] If the number of remaining nodes after deleting a single node in the last candidate path is greater than the length of the current shortest comparison path, then the comparison path of the next node in the last candidate path is calculated.

[0023] Optionally, the candidate path, the new candidate path, and the sub-shortest path obtained from the last candidate path are stored, and the shortest path is output.

[0024] According to a second aspect of the present invention, a path planning apparatus is provided, characterized in that the apparatus comprises:

[0025] The first determining module is used to determine the robot's task information, which includes the robot's destination address.

[0026] The acquisition module is used to acquire multiple candidate path information from the source address to the destination address in the robot map, wherein the source address is the robot's current address;

[0027] The second determining module is used to determine the shortest path based on the in-degree information between nodes in the candidate path.

[0028] According to a third aspect of the present invention, an electronic device is provided, comprising: at least one processor; and a memory communicatively connected to the at least one processor; wherein the memory stores instructions executable by the at least one processor, the instructions being executed by the at least one processor to cause the at least one processor to implement a path planning method as described in any embodiment of the present invention.

[0029] According to a fourth aspect of the present invention, a computer-readable storage medium is provided, wherein computer instructions are provided for causing the computer to perform a path planning method as described in any embodiment of the present invention.

[0030] This invention discloses a path planning method, apparatus, device, and storage medium. The path planning method includes: determining robot task information, the task information including the robot's destination address; acquiring multiple candidate path information from a source address to the destination address in a robot map, the source address being the robot's current address; and determining the shortest path based on the in-degree information between nodes in the candidate paths. By employing the technical solution of this invention, the shortest path from the source address to the destination address is planned based on the robot's task information; this significantly reduces the computational load within a reasonable timeframe, enabling the robot to determine the shortest path from the source address to the pickup address and from the pickup address to the destination address among multiple candidate paths, thus completing the task; achieving better computational efficiency while also improving the robot's working efficiency.

[0031] It should be understood that the description in this section is not intended to identify key or essential features of the embodiments of the present invention, nor is it intended to limit the scope of the invention. Other features of the invention will become readily apparent from the following description. Attached Figure Description

[0032] To more clearly illustrate the technical solutions in the embodiments of this application, the accompanying drawings used in the description of the embodiments will be briefly introduced below. Obviously, the accompanying drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0033] Figure 1 This is a schematic diagram of an application scenario of the path planning method provided in an embodiment of the present invention;

[0034] Figure 2 This is a flowchart illustrating a path planning method according to an embodiment of the present invention;

[0035] Figure 3 This is a schematic diagram of node relationships in a path planning method provided by an embodiment of the present invention;

[0036] Figure 4 This is a schematic diagram of the structure of a path planning device according to an embodiment of the present invention;

[0037] Figure 5 This is a schematic diagram of the structure of an electronic device used to implement a path planning method according to an embodiment of the present invention. Detailed Implementation

[0038] To enable those skilled in the art to better understand the present application, the technical solutions in the embodiments of the present application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present application, and not all embodiments. Based on the embodiments in the present application, all other embodiments obtained by those of ordinary skill in the art without creative effort should fall within the scope of protection of the present application.

[0039] It should be noted that the terms "first," "second," etc., in the specification, claims, and accompanying drawings of this application are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It should be understood that such data can be interchanged where appropriate so that the embodiments of this application described herein can be implemented in orders other than those illustrated or described herein. Furthermore, the terms "comprising" and "having," and any variations thereof, are intended to cover non-exclusive inclusion; for example, a process, method, system, product, or apparatus that comprises a series of steps or units is not necessarily limited to those steps or units explicitly listed, but may include other steps or units not explicitly listed or inherent to such processes, methods, products, or apparatus.

[0040] This disclosure will now be described in detail with reference to the accompanying drawings and embodiments.

[0041] Figure 1 This is a schematic diagram of an application scenario of the path planning method shown in one or more embodiments of this specification.

[0042] like Figure 1 As shown, the application scenario 100 of the path planning method disclosed in this invention includes a server 110, a robot 120, a user terminal 130, and an Ethernet 140. The server 110 can be used to manage resources and process data and / or information from at least one component of the system or an external data source (e.g., a cloud data center). The server 110 can execute program instructions based on this data, information, and / or processing results to perform one or more functions described in this application. In some embodiments, the server 110 can be a single server or a group of servers. The server group can be centralized or distributed (e.g., the server 110 can be a distributed system), and can be dedicated or simultaneously provided by other devices or systems. In some embodiments, the server 110 can be regional or remote. In some embodiments, the server 110 can be implemented on a cloud platform or provided virtually. As an example only, the cloud platform can include private cloud, public cloud, hybrid cloud, community cloud, distributed cloud, internal cloud, multi-tiered cloud, etc., or any combination thereof.

[0043] Robot 120 includes a robot control computer 121, a wireless communication system 122, an artificial intelligence module 123, a human-machine interface 124, and a robot control module 125. The robot control computer 121, installed within the robot 120, is the core of the robot's internal computation and control, and is the final execution unit for information processing and program execution. It can implement multiple software programs or software modules, for example, to provide distributed services, or it can be implemented as a single software program or software module. No specific limitations are made here. The wireless communication system 122 is used to enable network communication between the robot 120 and the server 110 and the user terminal 130. The artificial intelligence module 123 is used to implement machine vision and machine hearing functions. The human-machine interface 124 serves as a medium for transmitting and exchanging information and for dialogue between humans and the computer. The robot control module 125 includes drivers and motors for controlling the robot's movement.

[0044] User terminal 130 refers to one or more terminal devices or software used by a user. In some embodiments, the user of user terminal 130 can be any user, such as an individual, enterprise, etc. In some embodiments, user terminal 130 can be one or any combination of other devices with input and / or output functions, such as mobile devices, tablet computers, laptop computers, desktop computers, etc. The above examples are only used to illustrate the breadth of the range of user terminal 130 devices and are not intended to limit its scope.

[0045] like Figure 1 As shown, after the user terminal 130 places an order, it sends the order to the server 110 via Ethernet 140. The server 110 determines the task information based on the order information received from the user terminal 130 and sends it to the robot 120. The server 110 plans the movement path based on the task information.

[0046] It should be understood that Figure 1 The number of computing devices shown is merely illustrative. Any number of computing devices can be used depending on implementation needs.

[0047] The working environment in which a robot moves on the ground is a two-dimensional or three-dimensional space, called the robot's workspace. In this single environment, the robot can be considered a point mass within the workspace. By importing a map corresponding to the workspace into the robot, the robot moves according to the map. Nodes in the robot map correspond to multiple addresses. Each robot will not traverse all nodes in the map during a single task execution. However, for a given task, the robot may need to reach multiple addresses. Therefore, among all addresses included in the map, the multiple addresses that must be traversed to complete the task are identified, and the shortest path between these multiple addresses is selected to complete the delivery.

[0048] It should be noted that the robot's map is equivalent to the graph in the embodiments of this invention, and the source address, pickup address and destination address in the map are equivalent to the nodes in the graph.

[0049] Example 1

[0050] According to embodiments of this application, a path planning method is provided. It should be noted that the steps shown in the flowcharts of the accompanying drawings can be executed in a computer system such as a set of computer-executable instructions. Furthermore, although a logical order is shown in the flowcharts, in some cases, the steps shown or described may be executed in a different order than that presented here. Figure 2 As shown, the path planning method includes the following steps: S210, S220 and S230.

[0051] S210. Determine the robot's task information, wherein the task information includes the robot's destination address.

[0052] On one hand, the task information includes, but is not limited to, the address where the robot will perform delivery tasks in the environment. Since the robot may not only deliver items to a single user, it plans routes based on different destination addresses in different task information. On the other hand, the server 110 determines the order that the robot will execute based on the order information from the user terminal 130; or determines the robot's task information based on the product information in the order to be executed; wherein, one order corresponds to one task information.

[0053] Optionally, determining the robot's task information further includes:

[0054] The robot's pickup address is determined based on the list of goods at the destination address, and the robot retrieves goods from one or more destination addresses at the pickup address.

[0055] The task information determines the robot's movement from the source address to the pickup address, and from the pickup address to the destination address.

[0056] For example, in a hotel setting, a robot delivers goods. Based on the list of goods required for the destination address in the received task information, the robot determines its pickup address. The robot first moves from its current source address to the pickup address, retrieves the goods, and then moves from the pickup address to the destination address. The robot can often retrieve multiple goods included in the task information from this pickup address.

[0057] S220. Obtain multiple candidate path information from the source address to the destination address in the robot map, where the source address is the robot's current address.

[0058] There are multiple paths between the source address and the pickup address, and there are also multiple paths between the pickup address and the destination address. The candidate path is the set of all permutations and combinations of paths between these two addresses. In short, different addresses (nodes) are fixed in the robot's map, but there are multiple paths between one address and another. Obtaining all existing paths between the two addresses constitutes the candidate path information.

[0059] Optionally, the first path from the source address to the pickup address of the robot precedes the second path from the pickup address to the destination address, where the source address is the robot's current address.

[0060] For example, the robot moves along a first path, where dependencies include: the pickup address depends on the source address, the pickup address is a dependent node, the source address is a dependent node, and the dependent node appears before the dependent node; if multiple pickup addresses exist among the multiple task information received by the robot, then multiple nodes in the first path depend on a single node. The robot moves along a second path, where dependencies include: the destination address depends on the pickup address, the destination address is a dependent node, the pickup address is a dependent node, and the pickup address necessarily appears before the destination address; if the items in the product list at the destination address require the robot to obtain them from different pickup addresses, then a single node in the second path depends on multiple nodes. If, during the robot's movement, the pickup address in the diagram corresponding to the first delivery task information becomes the destination address in the second task information, then the dependency relationship in this process is a circular dependency. For example, in the first task information: point A is the pickup address, and point B is the destination address; in the second task information: point B is the pickup address, and point A is the destination address. It can be seen that in the first task information, point B depends on point A; in the second task information, point A depends on point B. Therefore, for a robot, the path for executing the first and second task information is B←A←B, where the arrow points to the dependent node. In this case, node B appears twice, satisfying the circular dependency condition.

[0061] S230. Determine the shortest path based on the in-degree information between nodes in the candidate paths.

[0062] In-degree refers to the sum of the number of times a single node in a directed graph serves as the endpoint of an edge in the graph. The in-degree information is determined based on the dependencies between nodes in the candidate path. If a dependent node points to a dependent node, the in-degree of the dependent node is increased by 1; if a single node is not a dependent node, it means that there is no dependency between the node and other nodes, and the in-degree of the node is zero.

[0063] Optionally, determining the shortest path based on the in-degree information between nodes in the candidate path includes: taking the first node with an in-degree of 0 in the candidate path as a node in the shortest path and deleting the first node from the candidate path to obtain a new candidate path; taking the second node with an in-degree of 0 in the new candidate path as a node in the shortest path and deleting the second node from the new candidate path, until there are no nodes with an in-degree of 0 in the final candidate path; after deleting each node in the final candidate path, taking the third node with an in-degree of 0 in the path obtained by deleting the node as a node in the comparison path, until there are no nodes with an in-degree of 0; and taking the node in the shortest comparison path as a node in the shortest path.

[0064] For example, in a map with dependencies, different addresses correspond to different nodes. The path of the robot between the source address, pickup address, and destination address is determined based on the dependencies between these nodes. Here, the dependency is represented as a directed edge from the dependent node to the dependent node. For example, a directed edge from the pickup address node (dependent node) to the destination address node (dependent node) has an out-degree for the pickup address node and an in-degree for the destination address node. A path planning method is sought in the map formed by addresses with dependencies, and the shortest path is further determined based on the in-degree relationships between nodes in the directed graph. Candidate paths are the paths between nodes with dependencies in the robot map. First, the first node with an in-degree of 0 in the candidate paths is deleted, and then the deleted node is added to the shortest path. Simultaneously, all dependencies with the first node as the dependent node are deleted from the candidate paths, resulting in new candidate paths. Secondly, after deleting the second node with an in-degree of 0 from the new candidate path, the deleted node is added to the shortest path until there are no nodes with an in-degree of 0 in the final candidate path. Simultaneously, all dependencies with the second node as the dependent node are deleted from the new candidate path, resulting in the final candidate path. Furthermore, the first sub-shortest path obtained in the steps preceding the final candidate path is stored.

[0065] If there are no nodes in the final candidate path, it means that there are no cyclic dependencies between the nodes from the source address to the destination address, and the first sub-shortest path is the shortest path. If there are still nodes in the final candidate path, each node in the final candidate path is deleted, and the third node with an in-degree of 0 in the path obtained by deleting the node is added as a node in the comparison path, until there are no nodes with an in-degree of 0. Specifically, since there are no nodes with an in-degree of 0 in the final candidate path, the following operations are performed for each node in the final candidate path: on the one hand, after deleting any node, the dependency relationship with that arbitrary node as the dependent node is also deleted; on the other hand, in the path obtained by deleting the arbitrary node, after deleting the third node with an in-degree of 0, the third node is added to the comparison path corresponding to the arbitrary node, until there are no nodes with an in-degree of 0 in the path obtained by deleting the arbitrary node. Finally, a corresponding number of comparison paths are obtained according to the number of nodes in the final candidate path, and the shortest comparison path is selected from all the comparison paths as the second sub-shortest path. Therefore, for the robot, the shortest path determined from the candidate paths is the sum of the first sub-shortest path and the second sub-shortest path.

[0066] Optionally, after deleting each node in the last candidate path, the third node with an in-degree of 0 in the path obtained after deleting the nodes is used as a node in the comparison path, until there are no nodes with an in-degree of 0; the node in the shortest comparison path is used as the node in the shortest path, including:

[0067] Based on the third node, determine multiple comparison paths corresponding to each node in the final candidate path; determine the path length of each comparison path, the path length being greater than or equal to the number of nodes in the final candidate path; add the third node in the comparison path corresponding to the shortest path length to the node sequence of the shortest path.

[0068] Understandably, a path is represented as a sequence of nodes, passing through nodes in the graph in order. The length of the path represents the number of nodes traversed in the path. For example, a path between nodes with a cyclic dependency is B←A←B, with a path length of 3 and 2 nodes. This path length is greater than the number of nodes in the final candidate path.

[0069] Furthermore, it also includes:

[0070] If the number of remaining nodes after deleting a single node in the last candidate path is greater than the length of the current shortest comparison path, then the comparison path of the next node in the last candidate path is calculated.

[0071] Since the path length must be greater than or equal to the number of nodes in the last candidate path, if the number of remaining nodes after deleting any single node in the last candidate path is greater than the current shortest comparison path length, then there is no need to calculate the comparison path corresponding to any single node. The number of nodes is used as the lower bound of the shortest path, which improves the calculation efficiency.

[0072] For example, Figure 3 This diagram illustrates a circular dependency relationship between nodes. There are three nodes, A, B, and C. Node A and B have a circular dependency, meaning A depends on B, and B depends on A; node C depends on node B. Figure 3 As shown in the diagram, the arrows indicate the dependencies between nodes, not the robot's movement paths. There are paths between nodes A, B, and C that allow movement, and the arrows indicate the order in which the robot must execute the task information (i.e., the dependencies). Figure 3 It can be seen that the nodes in the diagram are the remaining nodes obtained after deleting any single node from the last candidate path; thus, Figure 3 If the number of nodes is 3, then the length of the comparison path corresponding to any single node must be greater than or equal to 3 to complete the task. Figure 3 The dependencies shown include possible paths such as C←B←A←B, A←C←B←A, and A←C←A←C←B; where the path lengths are r(C←B←A←B)=|CBAB|=4; r(A←C←B←A)=|ACBA|=4; and r(A←C←A←C←B)=|ACACB|=5. It is evident that the shortest path length in fulfilling these dependencies is at least 4. If the number of remaining nodes is greater than 4, the case of any of these nodes is excluded, and no further calculation of subsequent comparison paths is required. This is understandable. Figure 3 The dependencies in the path are A←B←A or B←A←B. Note: In the path, the dependent node appears before the dependent node. Nodes without dependencies can appear anywhere in the path. The arrows point from the dependent node to the dependent node.

[0073] Optionally, the candidate path, the new candidate path, and the sub-shortest path obtained from the last candidate path are stored, and the shortest path is output.

[0074] As described in the above embodiment, the sub-shortest path includes a first sub-shortest path and a second sub-shortest path. Both the first and second sub-shortest paths obtained during the calculation of the shortest path for the candidate paths are stored. The map on which the robot moves within a single scene is fixed and does not change across different addresses. Therefore, if the known candidate paths remain unchanged, the shortest path length will also remain unchanged after it is determined. That is, in the path planning method, the shortest path among the candidate paths between the source address, pickup address, and destination address determined by the robot is calculated only once, and the shortest path obtained at each stage of the calculation process is stored.

[0075] This invention employs heuristic algorithms to plan the shortest path for a robot. By finding the optimal solution (shortest path) among all candidate paths, it improves computational efficiency and solves the problem in existing technologies where the shortest path cannot be found when circular dependencies occur. Heuristic algorithms refer to algorithms where individuals, in a randomized group optimization process, can utilize their own or global experience to formulate their own search strategies.

[0076] This invention discloses a path planning method. The method includes: determining robot task information, including the robot's destination address; acquiring multiple candidate paths from a source address to the destination address in a robot map, where the source address is the robot's current address; and determining the shortest path based on the in-degree information between nodes in the candidate paths. By employing the technical solution of this invention, the shortest path from the source address to the destination address is planned based on the robot's task information. This significantly reduces the computational load within a reasonable timeframe, enabling the robot to determine the shortest path from the source address to the pickup address and from the pickup address to the destination address among multiple candidate paths, thus completing the task. This achieves better computational efficiency while also improving the robot's working efficiency.

[0077] Example 2

[0078] According to an embodiment of the present invention, a schematic diagram of a path planning device is provided, which can execute the path planning method provided in Embodiment 1 above. Figure 4 As shown, the device includes: a first determining module 410, an acquiring module 420, and a second determining module 430. Wherein:

[0079] The first determining module 410 is used to determine the robot's task information, which includes the robot's destination address.

[0080] The acquisition module 420 is used to acquire multiple candidate path information from the source address to the destination address in the robot map, wherein the source address is the current address of the robot.

[0081] The second determining module 430 is used to determine the shortest path based on the in-degree information between nodes in the candidate path.

[0082] Optionally, the first determining module 410 includes:

[0083] The first determining subunit is used to determine the pickup address of the robot based on the list of goods at the destination address, and the robot obtains one or more goods at the pickup address.

[0084] The second determining subunit is used to determine the task information of the robot moving from the source address to the pickup address and from the pickup address to the destination address.

[0085] Optionally, the first path from the source address to the pickup address of the robot precedes the second path from the pickup address to the destination address, where the source address is the robot's current address.

[0086] Optionally, the second determining module 430 includes:

[0087] The first unit is used to take the first node with an in-degree of 0 in the candidate path as a node in the shortest path, and delete the first node from the candidate path to obtain a new candidate path.

[0088] The second unit is used to take the second node with an in-degree of 0 in the new candidate path as a node in the shortest path, and delete the second node from the new candidate path until there are no nodes with an in-degree of 0 in the final candidate path.

[0089] The third unit is used to delete each node in the last candidate path, and then use the third node with an in-degree of 0 in the path obtained by deleting the nodes as a node in the comparison path, until there are no nodes with an in-degree of 0; the node in the shortest comparison path is used as the node in the shortest path.

[0090] Optionally, the third unit includes:

[0091] Based on the third node, multiple comparison paths are determined that correspond to each node in the final candidate path.

[0092] Determine the path length of each comparison path, wherein the path length is greater than or equal to the number of nodes in the final candidate path;

[0093] Add the third node from the comparison path corresponding to the shortest path length to the node sequence of the shortest path.

[0094] Furthermore, the third unit also includes:

[0095] If the number of remaining nodes after deleting a single node in the last candidate path is greater than the length of the current shortest comparison path, then the comparison path of the next node in the last candidate path is calculated.

[0096] Optionally, the candidate path, the new candidate path, and the sub-shortest path obtained from the last candidate path are stored, and the shortest path is output.

[0097] This invention discloses a path planning device. The device includes: a first determining module for determining robot task information, including the robot's destination address; an acquiring module for acquiring multiple candidate paths from the source address to the destination address in a robot map, where the source address is the robot's current address; and a second determining module for determining the shortest path based on the in-degree information between nodes in the candidate paths. By employing the technical solution of this invention, the shortest path from the source address to the destination address is planned based on the robot's task information. This significantly reduces the computational load within a reasonable timeframe, enabling the robot to determine the shortest path from the source address to the pickup address and from the pickup address to the destination address among multiple candidate paths, thus completing the task. This achieves better computational performance while also improving the robot's working efficiency.

[0098] Example 3

[0099] The following is for reference. Figure 5 This document illustrates a structural diagram of an electronic device 500 suitable for implementing embodiments of the present invention. The electronic device is intended to represent various forms of digital computers, such as laptop computers, desktop computers, workstations, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. The electronic device may also represent various forms of mobile devices, such as personal digital processors, cellular phones, smartphones, wearable devices, and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely illustrative and are not intended to limit the implementation of the invention described and / or claimed herein.

[0100] like Figure 5As shown, electronic device 500 may include processing device 510, which can perform various appropriate actions and processes according to a program stored in read-only memory (ROM) 520 or a program loaded from storage device 580 into random access memory (RAM) 530. Processing device 510 may be various general-purpose and / or special-purpose processing components with processing and computing capabilities. Some examples of processing device 510 include, but are not limited to, central processing unit (CPU), graphics processing unit (GPU), various special-purpose artificial intelligence (AI) computing chips, various computing units running machine learning model algorithms, digital signal processor (DSP), and any suitable processor, controller, microcontroller, etc. Processing device 510 performs the various methods and processes described above.

[0101] The RAM 530 also stores various programs and data required for the operation of the electronic device 500. The processing device 510, ROM 520, and RAM 530 are interconnected via bus 540. The input / output (I / O) interface 550 is also connected to bus 540.

[0102] Typically, the following devices can be connected to I / O interface 550: input devices 560 including, for example, touchscreens, touchpads, keyboards, mice, cameras, microphones, accelerometers, gyroscopes, etc.; output devices 570 including, for example, liquid crystal displays (LCDs), speakers, vibrators, etc.; storage devices 580 including, for example, magnetic tapes, hard disks, etc.; and communication devices 590. Communication device 590 allows electronic device 500 to communicate wirelessly or wiredly with other devices to exchange data. Although Figure 5 An electronic device 500 with various devices is shown; however, it should be understood that it is not required to implement or possess all of the devices shown. More or fewer devices may be implemented or possessed alternatively.

[0103] In particular, according to embodiments of the present invention, the processes described above with reference to the flowcharts can be implemented as computer software programs. For example, embodiments of the present invention include a computer program product comprising a computer program carried on a non-transitory computer-readable medium, the computer program containing program code for performing the methods shown in the flowcharts. In such embodiments, the computer program can be downloaded and installed from a network via a communication device 590, or installed from a storage device 580, or installed from a ROM 520. When the computer program is executed by the processing device 510, it performs the functions defined in the methods of the embodiments of the present invention. Alternatively, in other embodiments, the processing device 510 can be configured by any other suitable means (e.g., by means of firmware) to perform the method: determining task information of a robot, the task information including the destination address of the robot; acquiring multiple candidate path information from a source address to the destination address in a robot map, the source address being the current address of the robot; and determining the shortest path based on the in-degree information between nodes in the candidate paths.

[0104] Example 4

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

[0106] In some implementations, clients and servers can communicate using any currently known or future-developed network protocol such as HTTP (Hypertext Transfer Protocol) and can interconnect with digital data communication (e.g., communication networks) of any form or medium. Examples of communication networks include local area networks (“LANs”), wide area networks (“WANs”), the Internet (e.g., the Internet of Things), and peer-to-peer networks (e.g., ad hoc peer-to-peer networks), as well as any currently known or future-developed networks.

[0107] The aforementioned computer-readable medium may be included in the aforementioned electronic device; or it may exist independently and not assembled into the electronic device.

[0108] The aforementioned computer-readable medium carries one or more programs that, when executed by the electronic device, cause the electronic device to: determine task information of a robot, the task information including the robot's destination address; acquire multiple candidate path information from the source address to the destination address in the robot map, the source address being the robot's current address; and determine the shortest path based on the in-degree information between nodes in the candidate paths.

[0109] Computer program code for performing the operations of this invention can be written in one or more programming languages ​​or a combination thereof, including but not limited to object-oriented programming languages ​​such as Java, Smalltalk, and C++, as well as conventional procedural programming languages ​​such as the "C" language or similar programming languages. The program code can be executed entirely on the user's computer, partially on the user's computer, as a standalone software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In cases involving remote computers, the remote computer can be connected to the user's computer via any type of network—including a local area network (LAN) or a wide area network (WAN)—or can be connected to an external computer (e.g., via the Internet using an Internet service provider).

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

[0111] The modules described in the embodiments of the present invention can be implemented in software or hardware. The names of the modules are not, in some cases, limiting the scope of the module itself.

[0112] The functions described above herein can be performed at least in part by one or more hardware logic components. For example, exemplary types of hardware logic components that can be used, without limitation, include: digital electronic circuit systems, integrated circuit systems, field-programmable gate arrays (FPGAs), application-specific integrated circuits (ASICs), application-specific standard products (ASSPs), systems-on-a-chip (SoCs), complex programmable logic devices (CPLDs), computer hardware, firmware, software, and / or combinations thereof, etc.

[0113] The program code used to implement the methods of the present invention can be written in any combination of one or more programming languages. This program code can be provided to a processor or controller of a general-purpose computer, special-purpose computer, or other programmable data processing device, such that when executed by the processor or controller, the program code causes the functions / operations specified in the flowcharts and / or block diagrams to be implemented. The program code can be executed entirely on the machine, partially on the machine, as a standalone software package partially on the machine and partially on a remote machine, or entirely on a remote machine or server.

[0114] In the context of this invention, a machine-readable medium can be a tangible medium that may contain or store a program for use by or in conjunction with an instruction execution system, apparatus, or device. A machine-readable medium can be a machine-readable signal medium or a machine-readable storage medium. Machine-readable media can include, but are not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, apparatus, or devices, or any suitable combination of the foregoing. More specific examples of machine-readable storage media include electrical connections based on one or more wires, portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fibers, portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination of the foregoing.

[0115] To provide interaction with a user, the systems and techniques described herein can be implemented on a computer having: a display device for displaying information to the user (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor); and a keyboard and pointing device (e.g., a mouse or trackball) through which the user provides input to the computer. Other types of devices can also be used to provide interaction with the user; for example, feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user can be received in any form (including sound input, voice input, or tactile input).

[0116] The systems and technologies described herein can be implemented in computing systems that include backend components (e.g., as data servers), or computing systems that include middleware components (e.g., application servers), or computing systems that include frontend components (e.g., user computers with graphical user interfaces or web browsers through which users can interact with implementations of the systems and technologies described herein), or any combination of such backend, middleware, or frontend components. The components of the system can be interconnected via digital data communication of any form or medium (e.g., communication networks). Examples of communication networks include local area networks (LANs), wide area networks (WANs), blockchain networks, and the Internet.

[0117] Computer systems can include clients and servers. Clients and servers are generally geographically separated and typically interact via communication networks. The client-server relationship is established by computer programs running on the respective computers and having a client-server relationship with each other. A server can be a cloud server, also known as a cloud computing server or cloud host, a hosting product within the cloud computing service ecosystem that addresses the management difficulties and weak business scalability inherent in traditional physical hosting and VPS services. Servers can also be servers for distributed systems or servers integrated with blockchain technology.

[0118] Artificial intelligence (AI) is the study of enabling computers to simulate certain human thought processes and intelligent behaviors (such as learning, reasoning, thinking, and planning). It encompasses both hardware and software technologies. AI hardware technologies generally include sensors, dedicated AI chips, cloud computing, distributed storage, and big data processing. AI software technologies mainly include computer vision, speech recognition, natural language processing, machine learning / deep learning, big data processing, and knowledge graph technologies.

[0119] Cloud computing refers to a technology system that enables access to a shared pool of physical or virtual resources via a network. These resources can include servers, operating systems, networks, software, applications, and storage devices, and can be deployed and managed on demand and in a self-service manner. Cloud computing technology can provide efficient and powerful data processing capabilities for applications such as artificial intelligence and blockchain, as well as for model training.

[0120] It should be understood that the various forms of processes shown above can be used to rearrange, add, or delete steps. For example, the steps described in this invention can be executed in parallel, sequentially, or in different orders, as long as the desired result of the technical solution provided by this invention can be achieved, and this is not limited herein.

[0121] The specific embodiments described above do not constitute a limitation on the scope of protection of this invention. Those skilled in the art should understand that various modifications, combinations, sub-combinations, and substitutions can be made according to design requirements and other factors. Any modifications, equivalent substitutions, and improvements made within the spirit and principles of this invention should be included within the scope of protection of this invention.

Claims

1. A path planning method, characterized in that, The method includes: Determine the robot's task information, including the robot's destination address; Obtain multiple candidate path information from the source address to the destination address in the robot map, where the source address is the robot's current address; The shortest path is determined based on the in-degree information between nodes in the candidate paths; The process of determining the robot's task information also includes: The robot's pickup address is determined based on the list of goods at the destination address, and the robot retrieves goods from one or more destination addresses at the pickup address. The task information for determining the robot's movement from the source address to the pickup address, and from the pickup address to the destination address; The first path of the robot from the source address to the pickup address precedes the second path from the pickup address to the destination address; The robot moves along a first path, where the pickup address depends on the source address; the pickup address is the dependent node, and the source address is the dependent node. The robot moves along a second path, where the destination address depends on the pickup address; the destination address is the dependent node, and the pickup address is the dependent node. During the robot's movement, the pickup address corresponding to the first task information becomes the destination address in the second task information, thus forming a circular dependency. The step of determining the shortest path based on the in-degree information between nodes in the candidate paths includes: The first node with an in-degree of 0 in the candidate path is taken as the node in the shortest path, and the first node is removed from the candidate path. At the same time, all dependencies with the first node as the dependent node are removed from the candidate path to obtain a new candidate path. The second node with an in-degree of 0 in the new candidate path is taken as a node in the shortest path, and the second node is removed from the new candidate path until there are no nodes with an in-degree of 0 in the final candidate path; at the same time, all dependencies with the second node as the dependent node are removed from the new candidate path to obtain the final candidate path; the path obtained in the steps before the final candidate path is stored as the first sub-shortest path. Specifically, for each node in the final candidate path: after deleting any one of the nodes, the dependency relationship with that arbitrary node as the dependent node is also deleted; in the path obtained by deleting the arbitrary node, after deleting the third node with an in-degree of 0, the third node is added to the comparison path corresponding to the arbitrary node, until there are no nodes with an in-degree of 0 in the path obtained by deleting the arbitrary node; a corresponding number of comparison paths are obtained according to the number of nodes in the final candidate path, and the shortest comparison path is selected from all the comparison paths as the second sub-shortest path. The shortest path determined from the candidate paths is the combination of the first sub-shortest path and the second sub-shortest path.

2. A path planning device, characterized in that, The device includes: The first determining module is used to determine the robot's task information, which includes the robot's destination address. The acquisition module is used to acquire multiple candidate path information from the source address to the destination address in the robot map, wherein the source address is the robot's current address; The second determining module is used to determine the shortest path based on the in-degree information between nodes in the candidate path; The process of determining the robot's task information also includes: The robot's pickup address is determined based on the list of goods at the destination address, and the robot retrieves goods from one or more destination addresses at the pickup address. The task information for determining the robot's movement from the source address to the pickup address, and from the pickup address to the destination address; The first path of the robot from the source address to the pickup address precedes the second path from the pickup address to the destination address; The robot moves along a first path, where the pickup address depends on the source address; the pickup address is the dependent node, and the source address is the dependent node. The robot moves along a second path, where the destination address depends on the pickup address; the destination address is the dependent node, and the pickup address is the dependent node. During the robot's movement, the pickup address corresponding to the first task information becomes the destination address in the second task information, thus forming a circular dependency. The step of determining the shortest path based on the in-degree information between nodes in the candidate paths includes: The first node with an in-degree of 0 in the candidate path is taken as the node in the shortest path, and the first node is removed from the candidate path. At the same time, all dependencies with the first node as the dependent node are removed from the candidate path to obtain a new candidate path. The second node with an in-degree of 0 in the new candidate path is taken as a node in the shortest path, and the second node is removed from the new candidate path until there are no nodes with an in-degree of 0 in the final candidate path; at the same time, all dependencies with the second node as the dependent node are removed from the new candidate path to obtain the final candidate path; the path obtained in the steps before the final candidate path is stored as the first sub-shortest path. Specifically, for each node in the final candidate path: after deleting any one of the nodes, the dependency relationship with that arbitrary node as the dependent node is also deleted; in the path obtained by deleting the arbitrary node, after deleting the third node with an in-degree of 0, the third node is added to the comparison path corresponding to the arbitrary node, until there are no nodes with an in-degree of 0 in the path obtained by deleting the arbitrary node; a corresponding number of comparison paths are obtained according to the number of nodes in the final candidate path, and the shortest comparison path is selected from all the comparison paths as the second sub-shortest path. The shortest path determined from the candidate paths is the combination of the first sub-shortest path and the second sub-shortest path.

3. An electronic device, comprising: At least one processor; and a memory communicatively connected to the at least one processor; wherein the memory stores instructions executable by the at least one processor to enable the at least one processor to implement the path planning method as described in claim 1.

4. A computer-readable storage medium, wherein, The computer instructions are used to cause the computer to execute the path planning method according to claim 1.

Citation Information

Patent Citations

  • Multi-vehicle task allocation and path optimization simulation platform and implementation method thereof

    CN114580695A