Method and device for generating multiple navigation routes, electronic equipment and storage medium
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- ZHIDAO NETWORK TECH (BEIJING) CO LTD
- Filing Date
- 2023-02-23
- Publication Date
- 2026-07-03
Smart Images

Figure CN116182888B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of autonomous driving technology, and in particular to methods, apparatus, electronic devices, and storage media for generating multiple navigation routes. Background Technology
[0002] In autonomous driving scenarios, there may be more than one route from the starting point to the destination. Therefore, it is necessary to generate multiple navigation routes according to different autonomous driving needs.
[0003] In related technologies, if multiple navigation routes need to be generated, the global navigation algorithm needs to be called multiple times to obtain multiple navigation routes.
[0004] However, this method involves a large amount of computation, resulting in high processor usage and significant memory consumption. Summary of the Invention
[0005] To solve or partially solve the problems existing in related technologies, this application provides a method, apparatus, electronic device and storage medium for generating multiple navigation routes, which can accurately generate multiple navigation routes while reducing the amount of computation, processor usage and memory usage.
[0006] The first aspect of this application provides a method for generating multiple navigation routes, including:
[0007] Obtain the node tree corresponding to the candidate routes generated when calculating the navigation route for autonomous driving; wherein, each road in the candidate routes corresponds to a node in the node tree;
[0008] Each node in the node tree is sequentially identified as a target node;
[0009] In the node tree, find the first parent node of the target node;
[0010] Outside the node tree, at least one second parent node of the target node is found based on the map data of the candidate route;
[0011] Multiple navigation routes are generated based on the first and second parent nodes corresponding to each target node.
[0012] Optionally, the step of finding at least one second parent node of the target node based on the map data of the candidate route outside the node tree includes:
[0013] Obtain the map data of the candidate routes;
[0014] The nodes corresponding to the roads that are associated with the candidate routes are identified as external nodes.
[0015] Based on the external nodes, determine the external parent node of the target node;
[0016] The tree-outside nodes that can connect to other nodes in the candidate route where the target node is located, excluding the target node, are determined as the second parent nodes of the target node.
[0017] Optionally, the step of finding at least one second parent node of the target node based on the map data of the candidate route outside the node tree includes:
[0018] Obtain the map data of the candidate routes;
[0019] The nodes corresponding to the roads that are associated with the candidate routes are identified as external nodes.
[0020] The node outside the tree that can be connected to a node in the node tree that has an inheritance relationship with the first parent node is determined as the second parent node of the target node.
[0021] Optionally, generating multiple navigation routes based on the first and second parent nodes corresponding to each target node includes:
[0022] From the node corresponding to the end point of the candidate route to the node corresponding to the start point of the candidate route, a recursive algorithm is used to visit the first parent node and the second parent node of each node to generate multiple access paths.
[0023] Based on the multiple access paths, multiple navigation routes are generated from the starting point to the destination.
[0024] Optional, also includes:
[0025] The cost function is invoked to calculate the cost value of each node; the cost function is used to calculate the cost value based on the input road-related parameters.
[0026] Multiple navigation routes are displayed in order of their corresponding cost values.
[0027] Optionally, the road-related parameters include: lane length, whether it is toll-free, whether it is a highway, whether it requires lane changing, and / or speed limit.
[0028] Optionally, obtaining the node tree corresponding to the candidate routes for autonomous driving includes:
[0029] Obtain alternative routes for autonomous driving;
[0030] Draw the node tree corresponding to the candidate routes; wherein each road in the candidate routes corresponds to a node in the node tree.
[0031] A second aspect of this application provides a multi-navigation route generation apparatus, comprising:
[0032] The acquisition unit is used to obtain the node tree corresponding to the candidate routes generated when calculating the navigation route for autonomous driving; wherein, each road in the candidate routes corresponds to a node in the node tree;
[0033] A determining unit is used to sequentially determine each node in the node tree as a target node;
[0034] The first search unit is used to search for the first parent node of the target node in the node tree;
[0035] The second search unit is used to search for at least one second parent node of the target node based on the map data of the candidate route outside the node tree;
[0036] The generation unit is used to generate multiple navigation routes based on the first and second parent nodes corresponding to each target node.
[0037] A third aspect of this application provides an electronic device, comprising:
[0038] Processor; and
[0039] A memory that stores executable code, which, when executed by the processor, causes the processor to perform the method described above.
[0040] A fourth aspect of this application provides a computer-readable storage medium having executable code stored thereon, which, when executed by a processor of an electronic device, causes the processor to perform the method described above.
[0041] The technical solution provided in this application first obtains a node tree corresponding to the candidate routes generated when calculating navigation routes for autonomous driving; wherein each road in the candidate routes corresponds to a node in the node tree; then, each node in the node tree is sequentially determined as a target node; then, the first parent node of the target node is found in the node tree; outside the node tree, at least one second parent node of the target node is found based on the map data of the candidate routes; finally, multiple candidate routes are generated based on the first and second parent nodes corresponding to each target node. It can be seen that multiple second parent nodes, excluding the first parent node, can be found based on the node tree, and multiple navigation routes are generated based on the second parent nodes other than the first parent node of the node. Therefore, it is not necessary to re-invoke the global navigation algorithm, which can accurately generate multiple navigation routes while reducing processor usage and memory consumption.
[0042] It should be understood that the above general description and the following detailed description are exemplary and explanatory only, and do not limit this application. Attached Figure Description
[0043] The above and other objects, features and advantages of this application will become more apparent from the more detailed description of exemplary embodiments thereof in conjunction with the accompanying drawings, wherein the same reference numerals generally represent the same components in the exemplary embodiments thereof.
[0044] Figure 1 This is a flowchart illustrating a method for generating multiple navigation routes according to an embodiment of this application.
[0045] Figure 2 This is a schematic diagram of the node structure in an embodiment of this application.
[0046] Figure 3 This is a schematic diagram of the structure of a multi-navigation route generation device shown in an embodiment of this application.
[0047] Figure 4 This is a schematic diagram of the structure of an electronic device shown in an embodiment of this application. Detailed Implementation
[0048] Embodiments of this application will now be described in more detail with reference to the accompanying drawings. While embodiments of this application are shown in the drawings, it should be understood that this application may be implemented in various forms and should not be limited to the embodiments set forth herein. Rather, these embodiments are provided to make this application more thorough and complete, and to fully convey the scope of this application to those skilled in the art.
[0049] The terminology used in this application is for the purpose of describing particular embodiments only and is not intended to be limiting of the application. The singular forms “a,” “the,” and “the” used in this application and the appended claims are also intended to include the plural forms unless the context clearly indicates otherwise. It should also be understood that the term “and / or” as used herein refers to and includes any or all possible combinations of one or more of the associated listed items.
[0050] It should be understood that although the terms "first," "second," "third," etc., may be used in this application to describe various information, this information should not be limited to these terms. These terms are only used to distinguish information of the same type from one another. For example, without departing from the scope of this application, first information may also be referred to as second information, and similarly, second information may also be referred to as first information. Thus, a feature defined as "first" or "second" may explicitly or implicitly include one or more of that feature. In the description of this application, "multiple" means two or more, unless otherwise explicitly specified.
[0051] This application's embodiments can be applied to autonomous driving scenarios, especially when multiple candidate routes need to be generated during autonomous driving navigation route calculation. In related technologies, a navigation route can be calculated based on a start point and an end point; however, in autonomous driving scenarios, multiple navigation routes may be needed when the autonomous driving system requires decision-making. Related technologies can perform multiple searches based on the start point and end point, generating a navigation route after each successful search; however, this involves a large computational load, high processor utilization, and significant memory consumption.
[0052] To address the aforementioned issues, this application provides a method for generating multiple navigation routes. Based on a single successful search for candidate routes, multiple navigation routes are output, which can accurately generate multiple navigation routes while reducing search costs, processor usage, and memory consumption.
[0053] The technical solutions of the embodiments of this application are described in detail below with reference to the accompanying drawings.
[0054] Figure 1 This is a flowchart illustrating a method for generating multiple navigation routes according to an embodiment of this application.
[0055] See Figure 1 This application embodiment illustrates a method for generating navigation routes, comprising:
[0056] S101. Obtain the node tree corresponding to the candidate routes generated when calculating the navigation route for autonomous driving; wherein, each road in the candidate routes corresponds to a node in the node tree.
[0057] In this embodiment, when calculating the navigation route for autonomous driving, after the candidate routes are generated, in order to output multiple candidate routes without increasing computational costs, it is necessary to first obtain the node tree corresponding to the candidate routes. Each node in the node tree represents a road, and each road is a road in the candidate routes. The candidate routes are the basis for generating navigation routes. Using the road and lane-related information in the candidate navigation routes, a navigation route can be generated. The generation process of candidate routes can be the generation of routes including information about each road after calling the navigation algorithm's route calculation algorithm once. In the data structure, each road can correspond to one node, and each candidate route can correspond to a node tree.
[0058] The node tree can be stored in the search results for the candidate route or drawn in real time. Since roads can be stored as nodes in the data structure, drawing the node tree in real time does not require a large computational cost.
[0059] Optionally, the node tree corresponding to the candidate routes generated when calculating the navigation route for autonomous driving includes:
[0060] Obtain the node tree corresponding to the candidate routes generated when calculating the navigation route for autonomous driving;
[0061] Draw the node tree corresponding to the candidate routes; wherein each road in the candidate routes corresponds to a node in the node tree.
[0062] In practical use, one-way or two-way search can be used to obtain candidate routes. The node information of each road in the candidate route can be recorded. The node information can include the location information of each node and the relationship between the node and its predecessor and successor nodes. The connection relationship between each node is marked by the node information to form the node tree corresponding to the candidate route.
[0063] Understandably, since the node information is already recorded during the search process and does not need to be re-acquired or calculated during drawing, the increased computational cost is negligible.
[0064] S102. Sequentially determine each node in the node tree as the target node.
[0065] In this embodiment, multiple parent nodes need to be modified to output multiple candidate routes. Therefore, each node can be used as a target node based on the endpoint to the starting point of the candidate route, and the subsequent process of adding parent nodes can be performed on the target nodes.
[0066] It is understandable that the process of determining the target route could also be to determine the nodes corresponding to each important road in the candidate route as the target nodes in turn, thereby saving the overhead of generating multiple candidate routes.
[0067] In practical use, important roads can be pre-generated with important road markers. Important roads can be understood as main roads or roads with many alternative routes. Target nodes can then be determined sequentially based on these important road markers.
[0068] S103. In the node tree, find the first parent node of the target node.
[0069] S104. Outside the node tree, find at least one second parent node of the target node based on the map data of the candidate route.
[0070] In this embodiment, the parent node of the target node is searched both inside and outside the node tree. The parent node found inside the node tree is the first parent node, and the parent node found outside the node tree is the second parent node.
[0071] like Figure 2 As shown, Figure 2 This is a schematic diagram of the node structure in an embodiment of this application. Nodes 21, 22, 23, and 24 correspond to four roads A, B, C, and D. The parent node of a node can be, for example, in a candidate route with the connection order of nodes DCBA, where node D is the parent node of node C, and similarly, node B is the parent node of node A.
[0072] Understandably, the first parent node in the node tree can be directly queried through the node tree, while the second parent node outside the node tree can be found by referring to the nodes corresponding to the surrounding roads recorded when searching for candidate routes.
[0073] In practical use, during the generation of candidate routes, a node can typically correspond to only one parent node. In this embodiment, a target node can be modified to have multiple parent nodes, and the second parent node outside the node tree can also be used as the parent node of the target node as the basis for generating candidate routes.
[0074] It is understandable that the number of second parent nodes corresponding to each target node can be one or more, and there are multiple ways to determine the second parent node, which will be introduced in detail later.
[0075] S105. Generate multiple navigation routes based on the first and second parent nodes corresponding to each target node.
[0076] In this embodiment of the application, since the target node is modified to have a second parent node, multiple navigation routes can be generated based on the first parent node and the second parent node corresponding to each target node.
[0077] The basis for generating navigation routes has been changed from the original one node having one and only one first parent node to having multiple corresponding second parent nodes. Therefore, in this embodiment, multiple second parent nodes can be used to generate node paths, thereby generating corresponding navigation routes.
[0078] In practical use, multiple access paths can be generated based on multiple nodes, and multiple navigation routes can be generated based on multiple access paths.
[0079] As can be seen, in this embodiment of the application, since the node outside the node tree is used as the second parent node, there is no need to call the global navigation algorithm to perform a global search from the end point to the starting point, which reduces the computational cost and memory usage.
[0080] The technical solution provided in this application first obtains a node tree corresponding to the candidate routes for autonomous driving; wherein each road in the candidate routes corresponds to a node in the node tree; then, each node in the node tree is sequentially determined as a target node; then, the first parent node of the target node is found in the node tree; outside the node tree, at least one second parent node of the target node is found based on the map data of the candidate routes; finally, multiple candidate routes are generated based on the first and second parent nodes corresponding to each target node. It can be seen that multiple second parent nodes, excluding the first parent node, can be found based on the node tree, and multiple navigation routes are generated based on the second parent nodes other than the first parent node of the node. Therefore, it is not necessary to re-invoke the global navigation algorithm, which can accurately generate multiple navigation routes while reducing processor usage and memory consumption.
[0081] The foregoing embodiments described the process of finding the second parent node. In order to generate new candidate routes with less computing resources, in this embodiment, the second parent node of the node can be established outside the node tree.
[0082] In this embodiment of the application, the step of finding at least one second parent node of the target node based on the map data of the candidate route outside the node tree includes:
[0083] S1041. Obtain the map data of the candidate route.
[0084] S1042. Determine the nodes corresponding to the roads that are associated with the candidate routes as tree-outside nodes.
[0085] In this embodiment of the application, the map data may be the data used to generate the candidate routes, which has been stored in the cache or memory.
[0086] It is understandable that when generating candidate routes, the system should be able to save the nodes corresponding to the candidate routes, as well as the nodes corresponding to related roads outside the candidate routes. Alternatively, the nodes could be generated from real-time map data, or nodes corresponding to various roads pre-generated from map data.
[0087] The relationships between nodes in the node tree corresponding to the generated candidate routes are clear, while the nodes outside the node tree are discrete.
[0088] S1043. Based on the external nodes, determine the external parent node of the target node.
[0089] S1044. The tree-outside nodes that can be connected to other nodes in the candidate route where the target node is located, excluding the target node, are determined as the second parent nodes of the target node.
[0090] In this embodiment, the external parent node of the target node can be determined based on the external node. This determination can be achieved by modifying the node information of the target node. Since in related technologies a target node has one and only one parent node, it is impossible to retrieve and generate candidate routes based on the original node tree. This embodiment modifies the target node to have multiple parent nodes, and based on the modified target node, multiple navigation routes can be generated based on these multiple parent nodes.
[0091] In order to improve retrieval efficiency, the external parent node can be determined first, and the second parent node can be determined based on the external parent node.
[0092] It is understandable that the road corresponding to the parent node outside the tree and the road corresponding to the target node should be directly connected.
[0093] In this context, a parent node outside the tree can be connected to any node in the candidate route except its corresponding target node. This connection can be direct or indirect, and can occur through the parent node of another node.
[0094] In this embodiment, the second parent node of the target node outside the node tree can be determined, and candidate routes can be generated quickly.
[0095] To further improve retrieval and generation efficiency, this application embodiment also provides an implementation method for finding the second parent node.
[0096] In this embodiment of the application, the step of finding at least one second parent node of the target node based on the map data of the candidate route outside the node tree includes:
[0097] S1141. Obtain the map data of the candidate routes;
[0098] S1142. Determine the nodes corresponding to the roads that are associated with the candidate routes as tree-outside nodes;
[0099] S1143. The tree-outside node that can be connected to the node in the node tree that has an inheritance relationship with the first parent node is determined as the second parent node of the target node.
[0100] In this embodiment, modifications are made only to external nodes that have an inheritance relationship with the target node.
[0101] It is understood that in the embodiments of this application, the node with the inheritance relationship of the first parent node can be the parent node of the first node, and only the tree-outside node that can be connected to the parent node of the first parent node is determined as the second parent node.
[0102] In practical use, for example, if the first parent node is road X and the parent node of the first parent node is road Y, in this embodiment of the application, only the tree-outside node corresponding to road Z that can be directly connected to Y is determined as the second parent node.
[0103] Since the second parent node determined according to the method in the embodiments of this application can be directly connected to the node after the target node, the road based on the second parent node can necessarily achieve the connection between the starting point and the ending point.
[0104] Understandably, since a node's information can include its relationships with other nodes, these relationships can be stored as an array or a list. By reading these relationships, the second parent node can be accurately determined. At this point, the target node's information can be modified so that the node has multiple parent nodes.
[0105] In this embodiment of the application, by modifying a node to have multiple parent nodes, a data foundation can be provided for the generation of multiple navigation routes.
[0106] In this embodiment of the application, generating multiple navigation routes based on the first parent node and the second parent node corresponding to each target node includes:
[0107] From the node corresponding to the end point of the candidate route to the node corresponding to the start point of the candidate route, a recursive algorithm is used to visit the first parent node and the second parent node of each node to generate multiple access paths.
[0108] Based on the multiple access paths, multiple navigation routes are generated from the starting point to the destination.
[0109] In this embodiment of the application, after obtaining the second parent node of the node in the candidate route, multiple navigation routes can be generated based on the second parent node.
[0110] In practical use, the entire navigation route can be output by recursively accessing multiple parent nodes of each node.
[0111] For example, if node f can be connected to node a via either the first parent node d or the second parent node e, then the output routes after traversal can include feca and fdba.
[0112] In this embodiment of the application, in order to control the priority of the final output navigation route, the cost value of each node, including its first parent node and second parent node, can be calculated using a cost function or a prediction function.
[0113] The cost value is calculated based on road-related parameters, including lane length, toll availability, highway accessibility, lane changing requirements, and / or speed limits. Other parameters related to factors influencing road decisions may also be included.
[0114] It is understandable that the value can also be obtained by pre-calibrating based on the actual road conditions.
[0115] Understandably, in order to ensure output priority, the cost value of the first parent node of each node can be minimized to ensure that the final output is the optimal solution.
[0116] The output method can be based on the format required for autonomous driving decision-making, which will not be elaborated here.
[0117] In practical applications, the cost function can include: cost = a*time - b*min(len, 10*time). Here, cost is the cost value, time is the number of lane changes, len is the lane change length (len can have a maximum value), and a and b represent the weights.
[0118] Understandably, if the cost value of the second parent node is greater than a preset percentage of the cost value of the first parent node, such as 35 percent, then the second parent node is treated as a normal node.
[0119] As can be seen from the above embodiments, the embodiments of this application can output multiple navigation routes, and the computing resources occupied are very small, which can be ignored compared with related technologies. Since the content of the cache or memory based on the candidate route is used, the memory consumption is not increased. Compared with restarting the global navigation algorithm, there is almost no increase in memory consumption.
[0120] Corresponding to the method embodiment, this application also provides an apparatus embodiment for a multi-navigation route generation device.
[0121] Figure 3 This is a schematic diagram of the structure of a multi-navigation route generation device shown in an embodiment of this application.
[0122] See Figure 3 A navigation route generation apparatus, the apparatus 300 comprising:
[0123] The acquisition unit 1 is used to obtain the node tree corresponding to the candidate routes generated when calculating the navigation route for autonomous driving; wherein, each road in the candidate route corresponds to a node in the node tree;
[0124] Determining unit 2 is used to sequentially determine each node in the node tree as a target node;
[0125] The first search unit 3 is used to search for the first parent node of the target node in the node tree;
[0126] The second search unit 4 is used to search for at least one second parent node of the target node based on the map data of the candidate route outside the node tree;
[0127] The generation unit 5 is used to generate multiple navigation routes based on the first parent node and the second parent node corresponding to each target node.
[0128] The second search unit is specifically used for:
[0129] Obtain the map data of the candidate routes;
[0130] The nodes corresponding to the roads that are associated with the candidate routes are identified as external nodes.
[0131] Based on the external nodes, determine the external parent node of the target node;
[0132] The tree-outside nodes that can connect to other nodes in the candidate route where the target node is located, excluding the target node, are determined as the second parent nodes of the target node.
[0133] The second search unit is specifically used for:
[0134] Obtain the map data of the candidate routes;
[0135] The nodes corresponding to the roads that are associated with the candidate routes are identified as external nodes.
[0136] The node outside the tree that can be connected to a node in the node tree that has an inheritance relationship with the first parent node is determined as the second parent node of the target node.
[0137] The generation unit is specifically used for:
[0138] From the node corresponding to the end point of the candidate route to the node corresponding to the start point of the candidate route, a recursive algorithm is used to visit the first parent node and the second parent node of each node to generate multiple access paths.
[0139] Based on the multiple access paths, multiple navigation routes are generated from the starting point to the destination.
[0140] It also includes a sorting unit, used for:
[0141] The cost function is invoked to calculate the cost value of each node; the cost function is used to calculate the cost value based on the input road-related parameters.
[0142] Multiple navigation routes are displayed in order of their corresponding cost values.
[0143] Preferably, the road-related parameters include: lane length, whether it is toll-free, whether it is a highway, whether it requires lane changing, and / or speed limit.
[0144] Preferably, the node tree corresponding to the candidate routes generated when calculating the navigation route for autonomous driving includes:
[0145] Obtain the candidate routes generated when calculating the navigation route for autonomous driving;
[0146] Draw the node tree corresponding to the candidate routes; wherein each road in the candidate routes corresponds to a node in the node tree.
[0147] The device in this embodiment can find multiple second parent nodes other than the first parent node based on the node tree, and generate multiple navigation routes based on the second parent nodes other than the first parent node of the node. Therefore, it does not need to call the global navigation algorithm again, and can accurately generate multiple navigation routes while reducing the processor usage and memory usage.
[0148] Regarding the apparatus in the above embodiments, the specific manner in which each module performs its operation has been described in detail in the embodiments related to the method, and will not be elaborated further here.
[0149] Figure 4 This is a schematic diagram of the structure of an electronic device shown in an embodiment of this application.
[0150] See Figure 4 The electronic device 1000 includes a memory 1010 and a processor 1020.
[0151] The processor 1020 can be a Central Processing Unit (CPU), or other general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. The general-purpose processor can be a microprocessor or any conventional processor.
[0152] Memory 1010 may include various types of storage units, such as system memory, read-only memory (ROM), and permanent storage devices. ROM may store static data or instructions required by processor 1020 or other modules of the computer. Permanent storage devices may be read-write storage devices. Permanent storage devices may be non-volatile storage devices that retain stored instructions and data even when the computer is powered off. In some embodiments, permanent storage devices use mass storage devices (e.g., magnetic or optical disks, flash memory) as permanent storage devices. In other embodiments, permanent storage devices may be removable storage devices (e.g., floppy disks, optical drives). System memory may be a read-write storage device or a volatile read-write storage device, such as dynamic random access memory. System memory may store some or all of the instructions and data required by the processor during operation. Furthermore, memory 1010 may include any combination of computer-readable storage media, including various types of semiconductor memory chips (e.g., DRAM, SRAM, SDRAM, flash memory, programmable read-only memory), and disks and / or optical disks may also be used. In some embodiments, the memory 1010 may include a removable storage device that is readable and / or writable, such as a laser disc (CD), a read-only digital multifunction optical disc (e.g., DVD-ROM, dual-layer DVD-ROM), a read-only Blu-ray disc, a high-density optical disc, a flash memory card (e.g., SD card, mini SD card, Micro-SD card, etc.), a magnetic floppy disk, etc. Computer-readable storage media do not contain carrier waves or transient electronic signals transmitted wirelessly or via wired connections.
[0153] The memory 1010 stores executable code, which, when processed by the processor 1020, can cause the processor 1020 to execute part or all of the methods described above.
[0154] Furthermore, the method according to this application can also be implemented as a computer program or computer program product, which includes computer program code instructions for performing some or all of the steps in the method described above.
[0155] Alternatively, this application may be implemented as a computer-readable storage medium (or a non-transitory machine-readable storage medium or a machine-readable storage medium) storing executable code (or computer program or computer instruction code) thereon, which, when executed by a processor of an electronic device (or server, etc.), causes the processor to perform part or all of the steps of the methods described above according to this application.
[0156] The various embodiments of this application have been described above. These descriptions are exemplary and not exhaustive, nor are they limited to the disclosed embodiments. Many modifications and variations will be apparent to those skilled in the art without departing from the scope and spirit of the described embodiments. The terminology used herein is chosen to best explain the principles, practical application, or improvement of the technology in the market, or to enable others skilled in the art to understand the embodiments disclosed herein.
Claims
1. A method for generating multiple navigation routes, characterized in that, The method is based on the contents of the cache or memory of the candidate route and includes: Obtain the node tree corresponding to the candidate routes generated when calculating the navigation route for autonomous driving; wherein, each road in the candidate routes corresponds to a node in the node tree; Each node in the node tree is sequentially identified as a target node; the target node has multiple parent nodes, including the first parent node in the node tree and the second parent node outside the node tree; In the node tree, find the first parent node of the target node; Outside the node tree, based on the map data of the candidate route, at least one second parent node of the target node is found; this includes: acquiring the map data of the candidate route; determining the node corresponding to the road that is associated with the candidate route as an outside node; determining the outside node that can be connected to the node in the node tree that has an inheritance relationship with the first parent node as the second parent node of the target node; or: acquiring the map data of the candidate route; determining the node corresponding to the road that is associated with the candidate route as an outside node; based on the outside node, determining the outside parent node of the target node; determining the outside node of the target node as the second parent node of the target node among the outside nodes that can be connected to other nodes in the candidate route where the target node is located, excluding the target node; Multiple navigation routes are generated based on the first and second parent nodes corresponding to each target node.
2. The method according to claim 1, characterized in that, The process of generating multiple candidate routes based on the first and second parent nodes corresponding to each target node includes: From the node corresponding to the end point of the candidate route to the node corresponding to the start point of the candidate route, a recursive algorithm is used to visit the first parent node and the second parent node of each node to generate multiple access paths. Based on the multiple access paths, multiple navigation routes are generated from the starting point to the destination.
3. The method according to claim 1, characterized in that, Also includes: The cost function is invoked to calculate the cost value of each node; the cost function is used to calculate the cost value based on the input road-related parameters. Multiple navigation routes are displayed in order of their corresponding cost values.
4. The method according to claim 3, characterized in that, The road-related parameters include: lane length, whether it is toll-free, whether it is a highway, whether it requires lane changing, and / or speed limit.
5. The method according to claim 1, characterized in that, The node tree corresponding to the candidate routes generated when calculating the navigation route for autonomous driving includes: Obtain the candidate routes generated when calculating the navigation route for autonomous driving; Draw the node tree corresponding to the candidate routes; wherein each road in the candidate routes corresponds to a node in the node tree.
6. A multi-navigation route generation device, characterized in that, The device operates based on the contents of the cache or memory of the candidate route, including: The acquisition unit is used to obtain the node tree corresponding to the candidate routes generated when calculating the navigation route for autonomous driving; wherein, each road in the candidate routes corresponds to a node in the node tree; A determining unit is used to sequentially determine each node in the node tree as a target node; the target node has multiple parent nodes, including a first parent node in the node tree and a second parent node outside the node tree. The first search unit is used to search for the first parent node of the target node in the node tree; The second search unit is configured to search for at least one second parent node of the target node based on the map data of the candidate route outside the node tree; the second search unit is specifically configured to: acquire the map data of the candidate route; determine the node corresponding to the road that is associated with the candidate route as an outside node; determine the outside node that can be connected to the node in the node tree that has an inheritance relationship with the first parent node as the second parent node of the target node; or; acquire the map data of the candidate route; determine the node corresponding to the road that is associated with the candidate route as an outside node; determine the outside parent node of the target node based on the outside node; determine the outside node of the target node as the second parent node of the target node; The generation unit is used to generate multiple navigation routes based on the first and second parent nodes corresponding to each target node.
7. An electronic device, characterized in that, include: processor; as well as A memory having executable code stored thereon, which, when executed by the processor, causes the processor to perform the method as described in any one of claims 1-5.
8. A computer-readable storage medium having executable code stored thereon, which, when executed by a processor of an electronic device, causes the processor to perform the method as described in any one of claims 1-5.