A method, device, apparatus and computer-readable medium for generating a navigation path
By taking road intersections, starting points and end points as nodes and using the node adjacency matrix and turn relationship array to generate navigation paths, the problem of too many nodes in existing topological maps is solved, and the map data is compressed and the accuracy of navigation paths is improved.
Patent Information
- Application Number
- CN202210487784.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-05-06
- Publication Date
- 2025-10-10
- Estimated Expiration
- 2042-05-06
AI Technical Summary
Existing road-level topological maps have too many nodes for one-way roads and intersections, which cannot fully utilize the topological map's ability to reduce spatial complexity. In addition, many nodes and road segments do not have specific names or geographical significance, making them difficult for users to select as destinations. The waiting time of vehicles at traffic lights is also difficult to reflect and apply in pathfinding algorithms.
The road intersection, road starting point and road end point are taken as nodes in the node list, and the node adjacency matrix and turn relationship array are used to generate the navigation path. The navigation path is determined by the node adjacency matrix, and the delay of traffic lights is taken into account to improve the accuracy of path generation.
This reduces the map data storage space, reduces the amount of data generated by the path, and improves the calculation accuracy of the travel time between nodes and the accuracy of the navigation path.
Smart Images

Figure CN114812596B_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of navigation technology, and in particular to a navigation path generation method, apparatus, device and computer-readable medium. Background Art
[0002] Navigation electronic maps are maps designed specifically for vehicle navigation. They can contain various road attributes necessary for navigation, such as maximum speed limits, road widths, and road connectivity. Because some information on navigation electronic maps is meaningless for road-level navigation, introducing the concept of abstract topological maps can reduce map data size.
[0003] In existing road-level topological maps, there are too many nodes in one-way roads and intersections, which prevents the topological map from fully utilizing its ability to reduce spatial complexity. In addition, multiple nodes (nodes) and road segments (road segments) can only express the turning relationships within the intersection, but multiple nodes and road segments do not have specific names and geographical meanings, making them difficult for users to select as destinations. At the same time, the traffic conditions of these roads that are close to each other and intersect with each other are difficult to determine because vehicles cannot be matched to a specific road. The time vehicles wait at traffic lights is difficult to reflect in existing maps and be applied to subsequent pathfinding algorithms.
[0004] Therefore, a navigation path generation method is urgently needed. Summary of the Invention
[0005] The embodiments of this specification provide a navigation path generation method, apparatus, device, and computer-readable medium to reduce the spatial complexity of a topological map and reduce the space for storing map data.
[0006] To solve the above technical problems, the embodiments of this specification are implemented as follows:
[0007] The present invention provides a method for generating a navigation path, including:
[0008] Obtaining user navigation requirements and determining the navigation starting point and navigation end point corresponding to the navigation requirements;
[0009] Determine whether the navigation start point and the navigation end point are both nodes in a node position list, and obtain a first determination result; the nodes in the node position list include at least one node representing a road intersection, a road start point, and a road end point;
[0010] When the first judgment result indicates that the navigation start point and the navigation end point are both nodes in the node location list, a navigation path from the navigation start point to the navigation end point is determined according to a node adjacency matrix; the node adjacency matrix is used to represent road traffic information between each node in the node location list.
[0011] Optionally, the method further includes:
[0012] When the first judgment result indicates that the navigation start point and the navigation end point are not all included in the node position list, updating the node position list and the node adjacency matrix based on the navigation start point and / or the navigation end point not included in the node position list to obtain an updated node position list and an updated node adjacency matrix;
[0013] A navigation path from the navigation start point to the navigation end point is determined according to the updated node adjacency matrix.
[0014] Optionally, the method further includes:
[0015] Obtaining inter-node length information and direction information of each node in the node position list; the inter-node length information is used to indicate the actual distance between each node, and the inter-node direction information is used to indicate the accessibility between each node;
[0016] The node adjacency matrix is generated according to the length information and direction information between the nodes.
[0017] Optionally, the method further includes:
[0018] A road section delay matrix is determined according to the node adjacency matrix and the driving speed.
[0019] Optionally, the method further includes:
[0020] Determining a turning relationship array set, wherein a turning relationship array in the turning relationship array set is used to represent a road traffic relationship between any three nodes in the node position list or the updated node position list;
[0021] The navigation path is determined according to the turn relationship array set.
[0022] Optionally, the method further includes:
[0023] Determine whether a middle node located in the middle of the array among the three nodes corresponding to each turning relationship array in the turning relationship array set corresponds to a traffic light, to obtain a second determination result;
[0024] When the second determination result indicates that the traffic signal lamp is located at a middle node in the middle position of the array, the turning relationship array is determined as a delay array.
[0025] Optionally, the method further comprises:
[0026] Based on a pathfinding algorithm, the navigation path and an expected passing time of the navigation path are determined according to the road segment delay matrix and the delay array.
[0027] The navigation path generation device provided by the embodiment of the present specification comprises:
[0028] The acquisition module is configured to acquire a user navigation demand, and determine a navigation starting point and a navigation ending point corresponding to the navigation demand.
[0029] The determination module is configured to determine whether the navigation starting point and the navigation ending point are both nodes in a node position list, and obtain a first determination result; the nodes in the node position list include at least one node representing a road intersection, a road starting point or a road ending point.
[0030] The first determination module is configured to, when the first determination result indicates that the navigation starting point and the navigation ending point are both nodes in the node position list, determine a navigation path from the navigation starting point to the navigation ending point according to a node adjacency matrix; the node adjacency matrix is used to represent road passing information between each node in the node position list.
[0031] The navigation path generation device provided by the embodiment of the present specification comprises:
[0032] at least one processor; and
[0033] a memory in communication with the at least one processor; wherein
[0034] The memory stores instructions executable by the at least one processor, and the instructions are executed by the at least one processor to enable the at least one processor to:
[0035] acquire a user navigation demand, and determine a navigation starting point and a navigation ending point corresponding to the navigation demand.
[0036] determine whether the navigation starting point and the navigation ending point are both nodes in a node position list, and obtain a first determination result; the nodes in the node position list include at least one node representing a road intersection, a road starting point or a road ending point.
[0037] When the first judgment result indicates that the navigation start point and the navigation end point are both nodes in the node location list, a navigation path from the navigation start point to the navigation end point is determined according to a node adjacency matrix; the node adjacency matrix is used to represent road traffic information between each node in the node location list.
[0038] The embodiments of this specification also provide a computer-readable medium having computer-readable instructions stored thereon, and the computer-readable instructions can be executed by a processor to implement any of the above-mentioned navigation path generation methods.
[0039] One embodiment of this specification can achieve at least the following beneficial effects:
[0040] By including road intersections, road starting points, and road end points as nodes in the node list, the map uses fewer nodes to represent key locations on the actual road. This fully utilizes the map's ability to reduce spatial complexity, reduces map data storage space, and reduces the amount of data required for path generation. Furthermore, the node selection method used in the embodiments of this specification ensures that the connections between nodes are specific and concrete roads, making it easier to calculate travel times between nodes and improving path navigation accuracy. BRIEF DESCRIPTION OF THE DRAWINGS
[0041] In order to more clearly illustrate the embodiments of this specification or the technical solutions in the prior art, the following briefly introduces the drawings required for use in the embodiments or the description of the prior art. Obviously, the drawings described below are only some embodiments recorded in this application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying any creative labor.
[0042] Figure 1a A schematic diagram of a road topology map in the prior art in the embodiments of this specification;
[0043] Figure 1b A schematic diagram of an application scenario of a navigation path generation method according to an embodiment of this specification;
[0044] Figure 2 A flowchart of a navigation path generation method provided in an embodiment of this specification;
[0045] Figure 3 A schematic diagram of an actual road and road node topology provided in an embodiment of this specification;
[0046] Figure 4 A schematic diagram of road topology provided in the embodiments of this specification;
[0047] Figure 5 The embodiments of this specification provide Figure 4Schematic diagram of the adjacency matrix corresponding to the road topology diagram;
[0048] Figure 6 A schematic diagram of an intersection with auxiliary roads provided in the embodiments of this specification;
[0049] Figure 7 A map example and a corresponding node turn relationship array diagram provided in an embodiment of this specification;
[0050] Figure 8 A schematic diagram of the structure of a navigation path generation device provided in an embodiment of this specification;
[0051] Figure 9 This is a structural diagram of a navigation path generation device provided in an embodiment of this specification. DETAILED DESCRIPTION
[0052] To make the purpose, technical solutions, and advantages of one or more embodiments of this specification more clear, the technical solutions of one or more embodiments of this specification will be clearly and completely described below in conjunction with the specific embodiments of this specification and the corresponding drawings. Obviously, the embodiments described are only part of the embodiments of this specification, not all of the embodiments. Based on the embodiments in this specification, all other embodiments obtained by ordinary technicians in this field without making creative efforts are within the scope of protection of one or more embodiments of this specification.
[0053] It should be understood that although the terms first, second, third, etc. may be used in this application document to describe various information, these information should not be limited to these terms. These terms are only used to distinguish the same type of information from each other.
[0054] The technical solutions provided by the embodiments of this specification are described in detail below with reference to the accompanying drawings.
[0055] In the existing technology, in the road-level topological map, there are too many nodes for one-way roads and intersections. Figure 1a As shown, 8 nodes need to be set in the road intersection, and different nodes need to be set for different traffic directions of the road. Figure 1aIn the figure, U-turns, left turns, straight driving, and right turns entering the intersection from the left are represented by the road segments from node 1 to node 8, the road segment from node 1 to node 6, the road segment from node 1 to node 4, and the road segment from node 1 to node 2, respectively. The topological maps in the existing technology cannot fully utilize the ability of topological maps to reduce spatial complexity. In addition, since multiple nodes and road segments are set in the road, multiple nodes are required to represent the turns at the intersection. However, multiple nodes and road segments do not have specific names and geographical meanings, making them difficult for users to select as destinations. This is because vehicles cannot be matched to a specific road. The time a vehicle waits at a traffic light is difficult to be reflected in existing maps and applied to subsequent pathfinding algorithms.
[0056] In order to solve the defects in the prior art, this solution provides the following embodiments:
[0057] Figure 1b Schematic diagram of the application scenario of the navigation path generation method in the embodiment of this specification. Figure 1b As shown, the application scenario includes a server 20 and a terminal 10. The server stores map data and can draw a navigation route based on the navigation requirements issued by the terminal. The navigation route result is sent to the terminal for the user to select. The terminal can be a mobile phone, tablet computer, computer, smart wearable device, car computer, etc.
[0058] Next, a navigation path generation method provided in an embodiment of the specification will be described in detail with reference to the accompanying drawings:
[0059] Figure 2 This is a flowchart of a navigation path generation method provided by an embodiment of this specification. From a program perspective, the execution subject of the process can be a program installed on an application server or an application terminal.
[0060] like Figure 2 As shown, the process may include the following steps:
[0061] Step 202: Obtain user navigation requirements and determine the navigation starting point and navigation end point corresponding to the navigation requirements;
[0062] Users can trigger navigation needs through the application installed on the terminal. Navigation needs include a navigation start point and a navigation end point. For example, users can enter location A as the navigation start point and location B as the navigation end point in the terminal.
[0063] Step 204: Determine whether the navigation start point and the navigation end point are both nodes in the node position list, and obtain a first judgment result; the nodes in the node position list include at least one node representing a road intersection, a road start point, and a road end point.
[0064] It should be noted that the road intersection, road starting point, and road end point can be the intersection, starting point, and end point of each road included in the existing map. The nodes in this application include road intersections, such as: crossroads, T-junctions, ramps, and the intersection of auxiliary roads and main roads. Figure 3 This is a schematic diagram of an actual road and road node topology provided in the embodiment of this specification. Figure 3 As shown, various road information is ignored. Lines connecting nodes represent road segments between them. In this diagram, intersections are created as nodes, while the locations where ramps enter the main road, ramps enter the main road, and the start and end points of the road are all selected as nodes. In practical applications, road nodes can be numbered and the correspondence between road nodes and numbers stored in a node list to define road connectivity and provide a reference for navigation.
[0065] In practical applications, the node list also includes node location information. This node location information can be stored using Universal Transverse Mercator Grid (UTM) coordinates. For example, node number 1 has an easting location of 454,989.5 meters, a northing location of 4,403,183 meters, a latitude zone of S, and a longitude zone of 50.
[0066] Step 206: When the first judgment result indicates that the navigation start point and the navigation end point are both nodes in the node location list, determine the navigation path from the navigation start point to the navigation end point based on the node adjacency matrix; the node adjacency matrix is used to represent the road traffic information between each node in the node location list.
[0067] In this embodiment, the navigation start point and the navigation end point may be nodes in a node position list. The node position list is used to obtain a navigation path according to a navigation pathfinding algorithm. The navigation pathfinding algorithm may employ conventional pathfinding algorithms, such as the Dijkstra algorithm and the A* algorithm. The navigation pathfinding algorithm outputs a node sequence, where the first node in the node sequence is the navigation start point and the last node is the navigation end point. The node sequence may represent all nodes that a vehicle must pass through to travel from the navigation start point to the navigation end point, and the node sequence may represent the vehicle's travel path.
[0068] When the navigation start point or the navigation end point in the navigation requirement are both nodes in the node position list, the navigation path from the navigation start point to the navigation end point is determined according to the node adjacency matrix.
[0069] It should be understood that in the methods described in one or more embodiments of this specification, the order of some steps can be adjusted according to actual needs, or some steps can be omitted.
[0070] pass Figure 2 The navigation path generation method provided in the embodiments of this specification uses only road intersections, road starting points, and road end points as nodes in the node list, allowing the map to represent key locations on the actual road with fewer nodes. This fully utilizes the map's ability to reduce spatial complexity, reduces map data storage space, and reduces the amount of data required for path generation. Furthermore, the node selection method in the embodiments of this specification ensures that the connections between nodes are specific and concrete roads, making it easy to calculate travel time between nodes.
[0071] based on Figure 2 The present specification also provides some specific implementation methods of the method, which are described below.
[0072] The navigation path generation method provided in the embodiment of this specification can also be used for situations where the navigation starting point and the navigation end point are not all included in the node position list. Optionally, the navigation path generation method further includes:
[0073] When the first judgment result indicates that the navigation start point and the navigation end point are not all included in the node position list, updating the node position list and the node adjacency matrix based on the navigation start point and / or the navigation end point not included in the node position list to obtain an updated node position list and an updated node adjacency matrix;
[0074] A navigation path from the navigation start point to the navigation end point is determined according to the updated node adjacency matrix.
[0075] When the navigation start point or end point is not fully included in the node list, the navigation start point and / or end point can be added as a new node to the node location list to obtain an updated node location list, which contains the navigation start point and the navigation end point. For example, when both the navigation start point and the navigation end point are not included in the node location list, the original node location list stores 5 nodes, while the updated node location list stores 7 nodes. The navigation path is determined based on the updated node adjacency matrix.
[0076] It should be noted that when a navigation start or end point is introduced, the node location list, node adjacency matrix, link delay matrix, and turn delay array all need to be updated. For example, if nodes 1 and 2 are bidirectionally connected, and the navigation start point (node 5) is located between nodes 1 and 2, when node 5 is added to the node list, the connection between nodes 2 and 1 becomes unidirectional, and node 2 cannot directly reach node 1. Therefore, the node adjacency matrix can be updated.
[0077] In order to more accurately express the connection relationship between nodes, the navigation path generation method in the embodiment of this specification further includes:
[0078] obtain length information and direction information between nodes in the node position list; the length information between nodes is used to represent the actual distance between nodes, and the direction information between nodes is used to represent the passability between nodes;
[0079] generate the node adjacency matrix according to the length information and the direction information between nodes. In actual application, the node adjacency matrix is used to represent the road passability information between nodes; two nodes can be bidirectional passable or unidirectional passable, and these information is embodied in the node adjacency matrix.
[0080] Figure 4 a road topology diagram provided by an embodiment of the present specification; Figure 5 a road topology diagram provided by an embodiment of the present specification; Figure 4 a node adjacency matrix diagram corresponding to the road topology diagram. As shown in the figure, Figure 5 In the node adjacency matrix, the element in the ith row and the jth column represents the distance from node i to node j. When the ith node and the jth node are bidirectional passable, the element in the ith row and the jth column and the element in the jth row and the ith column are both the actual distance between nodes. For example, the distance between node 11 and node 12 is a bidirectional main road, so the elements in the 11th row and the 12th column and the 12th row and the 11th column of the matrix are both 30 meters. When the ith node and the jth node are unidirectional passable, for example, the distance between node 5 and node 1 is a unidirectional auxiliary road, so the element in the 5th row and the 1st column of the node adjacency matrix is 50 meters, but the element in the 1st row and the 5th column is "INF" (infinity), indicating that node 1 cannot reach node 5. When there is no connection between node i and node j, the corresponding element in the node adjacency matrix is also INF. For example, there is no connection between node 3 and node 1, so the elements in the 1st row and the 3rd column and the 3rd row and the 1st column of the matrix are both "INF" (infinity). It should be noted that the element value in the node adjacency matrix can be obtained by processing the node position information stored in the node list. It should be understood that INF can represent the attribute value in the node adjacency matrix, which can be set to other identifiers according to actual needs in actual application.
[0081] In order to accurately express the passable time length between nodes, the navigation path generation method in the present specification further comprises:
[0082] determine a road section delay matrix according to the node adjacency matrix and the driving speed.
[0083] In practical applications, the driving speed can be the average speed of vehicles, which can be obtained by statistically analyzing the driving speeds of vehicles on the current road segment. The average speed on the road from node i to node j in the node adjacency matrix N is v(i, j). This allows us to calculate the element R(i, j) of the delay matrix for the road segment from node i to node j, as shown in Equation 1.
[0084] Mathematical formula 1:
[0085]
[0086] Similarly, the section delay matrix R between each node in the node adjacency matrix N can be obtained. By obtaining the section delay matrix R between different nodes, the section travel time in the navigation path can be determined.
[0087] In order to accurately express the turning relationship between nodes, the navigation path generation method in the embodiment of this specification further includes:
[0088] Determining a turning relationship array set, wherein a turning relationship array in the turning relationship array set is used to represent a road traffic relationship between any three nodes in the node position list or the updated node position list;
[0089] The navigation path from the navigation starting point to the navigation end point is determined according to the turn relationship array set.
[0090] In practical applications, the turn relationship array can be recorded as W. If it is impossible to reach node k from node i through node j, then W(i, j, k) is INF. If node k can be reached from node i through node j and node j is a cross / T-junction with a traffic light, then W(i, j, k) is 1. If node k can be reached from node i through node j and there is no traffic light at node j, then W(i, j, k) is 0.
[0091] Figure 6 This is a schematic diagram of an intersection with auxiliary roads provided in the embodiment of this specification. Figure 6As shown, the turning rules at the intersection with traffic lights are that you can turn left, go straight, or turn right from the main road to the main road, and you can turn right from the secondary road to the secondary road. After driving from the main road "node 2 to node 13" to intersection 13, the vehicle can turn around to the main road "node 13 to node 2", turn left to the main road "node 13 to node 5", or go straight to the main road "node 13 to node 8". There are no other options. Therefore, W(2,13,2), W(2,13,5), and W(2,13,8) in the node turn relationship array are 1; after driving from the auxiliary road "node 1 to node 13" to intersection 13, the vehicle can turn right to the auxiliary road "node 13 to node 12". There are no other options. Therefore, W(1,13,12) in the node turn relationship array is 1; after driving from the auxiliary road "node 13 to node 6" to the ramp exit "node 6", the vehicle can enter the ramp "node 6 to node 5". There is no traffic light at node 6, so W(13,6,5) is 0; it is impossible to reach node 3 from node 1 through node 2, so W(1,2,3) is INF.
[0092] It should be noted that W(i,i,i) in the node turn relationship array is zero; if node e can reach node j, then W(e,j,j) and W(e,e,j) are zero.
[0093] Figure 7 This is a map example and a corresponding node turn relationship array diagram provided in the embodiment of this specification. Figure 7 As shown, there are 4 nodes in the map, among which the traffic between node 2 and node 1 is one-way, the traffic between node 1 and node 3 is two-way, and the traffic between node 1 and node 4 is two-way. The turn relationship array corresponding to node 1 to node 4 is as follows Figure 7 shown.
[0094] To further improve the accuracy of path generation, the navigation path generation method provided in the embodiment of this specification further includes:
[0095] Determine whether a middle node located in the middle of the array among the three nodes corresponding to each turning relationship array in the turning relationship array set corresponds to a traffic light, to obtain a second determination result;
[0096] When the second judgment result indicates that the middle node located in the middle of the array corresponds to a traffic light, the turn relationship array is determined to be a delay array.
[0097] By introducing intersection delays into the node turn relationship array W, we obtain the node turn delay array D. In the turn delay array D, the value of D(i,j,k) indicates whether there is an intersection delay from node i to node k via node j. Intersection delays can be caused by factors such as traffic lights and traffic regulations. For a node turn relationship array W with n nodes, the corresponding node turn delay array D is also of size n×n×n. If W(i,j,k) is 0, meaning that node i can reach node k via node j and there is no traffic light at node j, then D(i,j,k) is also 0, because there is no waiting time when traveling from node i to node k via node j. If W(i,j,k) is 1, meaning that node i can reach node k via node j and there is a traffic light at node j, then the value of W(i,j,k) must be estimated based on actual traffic conditions, as the waiting time at the traffic light must be considered when traveling from node i to node k via node j. If W(i,j,k) is INF, then D(i,j,k) is also INF, because node k cannot be reached from node i via node j.
[0098] In order to facilitate the terminal user in selecting a route, the travel time may be displayed on the navigation route. The navigation route generation method provided in the embodiment of this specification further includes:
[0099] Based on a path-finding algorithm, the navigation path and the expected travel time of the navigation path are determined according to the road section delay matrix and the delay array.
[0100] The pathfinding algorithm can employ common pathfinding algorithms in the navigation field, such as the Dijkstra algorithm and the A* algorithm. In the navigation path generation method provided in the embodiments of this specification, the expected travel time is divided into expected intersection delay and expected road segment travel time. The expected intersection delay represents the additional time a vehicle spends passing through an intersection, including waiting time at traffic lights; the expected road segment travel time includes the time a vehicle spends traveling on the road outside the intersection.
[0101] The road section travel time in the embodiments of this specification can be represented by a road section delay matrix, and the intersection delay is represented by a turn delay array.
[0102] In the turning delay array D, D(i, j, k) represents the delay from node i to node k via node j. For a node turning relationship array W considering n nodes, the size of the corresponding node turning delay array D is also n x n x n. If W(i, j, k) is 0, that is, node i can reach node k via node j and there is no traffic signal at node j, then D(i, j, k) is also 0, because there is no waiting time from node i to node k via node j. If W(i, j, k) is 1, that is, node i can reach node k via node j and there is a traffic signal at node j, then the value of W(i, j, k) needs to be estimated according to the actual traffic condition, because the waiting time before passing the signal needs to be considered from node i to node k via node j. If W(i, j, k) is INF, then D(i, j, k) is also INF, because node i cannot reach node k via node j.
[0103] In actual application, the server can obtain the control strategy of the traffic signal at each intersection, for example: according to the traffic condition of each intersection, the signal lights are networked controlled, and the signal lights are controlled according to the actual traffic flow. By obtaining the control strategy, the on-off time length of the traffic signal at the intersection is obtained.
[0104] By judging whether the element in the delay turning array is 1, it can be judged whether there is a traffic signal on the passing path, and the additional time consumption of the vehicle waiting in front of the traffic signal can be introduced into the passing time of the navigation path, thereby improving the accuracy of the navigation path.
[0105] Based on the same idea, the present specification also provides a device corresponding to the above method. Figure 8 A structural diagram of a navigation path generation device provided by an embodiment of the present specification is shown in FIG. 8. As shown in FIG. 8, the device can include: Figure 8
[0106] The obtaining module 801 is configured to obtain a user navigation demand, and determine a navigation starting point and a navigation ending point corresponding to the navigation demand.
[0107] The judging module 803 is configured to judge whether the navigation starting point and the navigation ending point are both nodes in a node position list, to obtain a first judgment result; the nodes in the node position list include at least one node representing a road intersection, a road starting point, or a road ending point.
[0108] The first determining module 805 is configured to, when the first judgment result indicates that the navigation starting point and the navigation ending point are both nodes in the node position list, determine a navigation path from the navigation starting point to the navigation ending point according to a node adjacency matrix; the node adjacency matrix is used to represent road passing information between nodes in the node position list.
[0109] It is understood that the above modules refer to computer programs or program segments for performing one or more specific functions. In addition, the distinction between the above modules does not mean that the actual program codes must also be separated.
[0110] Based on the same idea, the embodiments of this specification also provide devices corresponding to the above methods.
[0111] Figure 9 This is a structural diagram of a navigation path generation device provided in an embodiment of this specification. Figure 9 As shown, the device 900 may include:
[0112] at least one processor 910; and,
[0113] A memory 930 in communication with the at least one processor; wherein,
[0114] The memory 930 stores instructions 920 that can be executed by the at least one processor 910. The instructions are executed by the at least one processor 910 to enable the at least one processor 910 to:
[0115] Obtaining user navigation requirements and determining the navigation starting point and navigation end point corresponding to the navigation requirements;
[0116] Determine whether the navigation start point and the navigation end point are both nodes in a node position list, and obtain a first determination result; the nodes in the node position list include at least one node representing a road intersection, a road start point, and a road end point;
[0117] When the first judgment result indicates that the navigation start point and the navigation end point are both nodes in the node location list, a navigation path from the navigation start point to the navigation end point is determined according to a node adjacency matrix; the node adjacency matrix is used to represent road traffic information between each node in the node location list.
[0118] Based on the same idea, the embodiments of this specification also provide a computer-readable medium corresponding to the above method. The computer-readable medium stores computer-readable instructions, which can be executed by a processor to implement the above navigation path generation method.
[0119] While the foregoing descriptions of specific embodiments of this specification describe certain embodiments, in some cases, the actions or steps recited in the claims may be performed in an order different from that described in the embodiments and still achieve the desired results. Furthermore, the processes depicted in the accompanying drawings do not necessarily require the specific order or sequential order shown to achieve the desired results. In certain embodiments, multitasking and parallel processing are also possible or may be advantageous.
[0120] The various embodiments in this specification are described in a progressive manner, and the same or similar parts between the various embodiments can be referred to in detail.
[0121] The devices, equipment and methods provided in the embodiments of this specification correspond to each other. Therefore, the devices and equipment also have similar beneficial technical effects as the corresponding methods. Since the beneficial technical effects of the methods have been described in detail above, the beneficial technical effects of the corresponding devices and equipment will not be repeated here.
[0122] In the 1990s, technological improvements could be clearly distinguished as either hardware improvements (for example, improvements to circuit structures such as diodes, transistors, and switches) or software improvements (improvements to process flows). However, with the advancement of technology, many process flow improvements today can now be considered direct improvements to hardware circuit structures. Designers almost always create the corresponding hardware circuit structure by programming the improved process flow into the hardware circuit. Therefore, it cannot be said that a process flow improvement cannot be implemented using hardware modules. For example, a programmable logic device (PLD) (such as a field programmable gate array (FPGA)) is an integrated circuit whose logical function is determined by user programming. Designers can "integrate" a digital system onto a PLD through their own programming, without having to hire a chip manufacturer to design and manufacture a dedicated integrated circuit chip. Moreover, nowadays, instead of manually fabricating integrated circuit chips, this programming is mostly done using "logic compiler" software. This is similar to the software compiler used when developing programs. Before compilation, the original code must also be written in a specific programming language, called a hardware description language (HDL). There is not just one HDL, but many, such as ABEL (Advanced Boolean Expression Language), AHDL (Altera Hardware Description Language), Confluence, CUPL (Cornel University Programming Language), HDCal, JHDL (Java Hardware Description Language), Lava, Lola, MyHDL, PALASM, RHDL (Ruby Hardware Description Language), etc. The most commonly used ones are VHDL (Very-High-Speed Integrated Circuit Hardware Description Language) and Verilog. Those skilled in the art will also understand that by simply programming the method flow in one of these hardware description languages and then programming it into an integrated circuit, a hardware circuit that implements the logic method flow can be easily obtained.
[0123] The controller can be implemented in any suitable manner. For example, the controller can take the form of a microprocessor or processor and a computer-readable medium storing computer-readable program code (e.g., software or firmware) executable by the (micro)processor, logic gates, switches, application-specific integrated circuits (ASICs), programmable logic controllers, and embedded microcontrollers. Examples of controllers include, but are not limited to, the following microcontrollers: ARC 625D, Atmel AT91SAM, Microchip PIC18F26K20, and Silicone Labs C8051F320. The memory controller can also be implemented as part of the control logic of the memory. Those skilled in the art will also know that in addition to implementing the controller in a purely computer-readable program code format, the controller can be implemented in the form of logic gates, switches, application-specific integrated circuits, programmable logic controllers, and embedded microcontrollers by logically programming the method steps. Therefore, such a controller can be considered a hardware component, and the devices included therein for implementing various functions can also be considered as structures within the hardware component. Or even, the devices for implementing various functions can be considered as both software modules that implement the method and structures within the hardware component.
[0124] The systems, devices, modules, or units described in the above embodiments may be implemented by computer chips or entities, or by products having certain functions. A typical implementation device is a computer. Specifically, the computer may be, for example, a personal computer, a laptop computer, a cellular phone, a camera phone, a smartphone, a personal digital assistant, a media player, a navigation device, an email device, a game console, a tablet computer, a wearable device, or a combination of any of these devices.
[0125] For the convenience of description, the above devices are described as being divided into various units according to their functions. Of course, when implementing this application, the functions of each unit can be implemented in the same or multiple software and / or hardware.
[0126] It will be understood by those skilled in the art that embodiments of the present invention may be provided as methods, systems, or computer program products. Thus, the present invention may take the form of an entirely hardware embodiment, an entirely software embodiment, or an embodiment combining software and hardware. Furthermore, the present invention may take the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to magnetic disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.
[0127] The present invention is described with reference to the flowcharts and / or block diagrams of the methods, devices (systems), and computer program products according to embodiments of the present invention. It should be understood that each process and / or box in the flowchart and / or block diagram, as well as the combination of processes and / or boxes in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing device to produce a machine, so that the instructions executed by the processor of the computer or other programmable data processing device produce a device for implementing the functions specified in one or more processes in the flowchart and / or one or more boxes in the block diagram.
[0128] These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing device to operate in a specific manner, so that the instructions stored in the computer-readable memory produce a product including an instruction device that implements the functions specified in one or more processes in the flowchart and / or one or more boxes in the block diagram.
[0129] These computer program instructions can also be loaded onto a computer or other programmable data processing device so that a series of operating steps are executed on the computer or other programmable device to produce a computer-implemented process, so that the instructions executed on the computer or other programmable device provide steps for implementing the functions specified in one or more processes in the flowchart and / or one or more boxes in the block diagram.
[0130] In a typical configuration, a computing device includes one or more processors (CPUs), input / output interfaces, network interfaces, and memory.
[0131] Memory may include non-permanent storage in a computer-readable medium, random access memory (RAM) and / or non-volatile memory in the form of read-only memory (ROM) or flash RAM. Memory is an example of a computer-readable medium.
[0132] Computer-readable media include permanent and non-permanent, removable and non-removable media that can be implemented by any method or technology to store information. The information can be computer-readable instructions, data structures, program modules or other data. Examples of computer storage media include, but are not limited to, phase change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technology, compact disc read-only memory (CD-ROM), digital versatile disc (DVD) or other optical storage, magnetic cassettes, magnetic disk storage or other magnetic storage devices or any other non-transmission media that can be used to store information that can be accessed by a computing device. As defined herein, computer-readable media does not include transitory media such as modulated data signals and carrier waves.
[0133] It should also be noted that the terms "comprises," "includes," or any other variations thereof are intended to encompass non-exclusive inclusion, such that a process, method, commodity, or apparatus that includes a series of elements includes not only those elements but also other elements not explicitly listed, or includes elements inherent to such process, method, commodity, or apparatus. In the absence of further limitations, an element defined by the phrase "comprises a ..." does not exclude the presence of other identical elements in the process, method, commodity, or apparatus that includes the element.
[0134] Those skilled in the art will appreciate that the embodiments of the present application may be provided as methods, systems, or computer program products. Therefore, the present application may take the form of a complete hardware embodiment, a complete software embodiment, or an embodiment combining software and hardware. Furthermore, the present application may take the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to magnetic disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.
[0135] The present application may be described in the general context of computer-executable instructions executed by a computer, such as program modules. Generally, program modules include routines, programs, objects, components, data structures, etc. that perform specific tasks or implement specific abstract data types. The present application may also be practiced in distributed computing environments where tasks are performed by remote processing devices connected through a communications network. In a distributed computing environment, program modules may be located in local and remote computer storage media, including storage devices.
[0136] The above merely provides an example of the present application, and is not intended to limit the present application. Any modification, equivalent replacement, improvement, etc. within the spirit and principle of the present application should be included in the scope of claims of the present application.
Claims
1. A navigation path generation method, characterized in that: include: Obtaining user navigation requirements and determining the navigation starting point and navigation end point corresponding to the navigation requirements; Determine whether the navigation start point and the navigation end point are both nodes in a node position list, and obtain a first determination result; the nodes in the node position list include at least one node representing a road intersection, a road start point, and a road end point; When the first judgment result indicates that the navigation start point and the navigation end point are both nodes in the node position list, determining a navigation path from the navigation start point to the navigation end point according to a node adjacency matrix; The node adjacency matrix is used to represent the road traffic information between each node in the node position list; The method further comprises: When the first judgment result indicates that the navigation start point and the navigation end point are not all included in the node position list, updating the node position list and the node adjacency matrix based on the navigation start point and / or the navigation end point not included in the node position list to obtain an updated node position list and an updated node adjacency matrix; Determining a navigation path from the navigation starting point to the navigation end point according to the updated node adjacency matrix; The method further comprises: Determining a turning relationship array set, wherein a turning relationship array in the turning relationship array set is used to represent a road traffic relationship between any three nodes in the node position list or the updated node position list; Determining the navigation path according to the turn relationship array set; Wherein, the turning relationship array is recorded as W, and when the arbitrary three nodes are recorded as node i, node j, and node k, the road traffic relationship between the turning relationship array and the arbitrary three nodes is as follows: W(i,j,k)=INF means that it is impossible to reach node k from node i via node j; W(i,j,k)=1 means that it is possible to reach node k from node i via node j and node j is a cross / T-junction with a traffic light; W(i,j,k)=0 means that it is possible to reach node k from node i via node j and there is no traffic light at node j.
2. The navigation path generation method according to claim 1, characterized in that: The method further comprises: Obtaining inter-node length information and direction information of each node in the node position list; the inter-node length information is used to indicate the actual distance between each node, and the inter-node direction information is used to indicate the accessibility between each node; The node adjacency matrix is generated according to the length information and direction information between the nodes.
3. The navigation path generation method according to claim 2, characterized in that: The method further comprises: A road section delay matrix is determined according to the node adjacency matrix and the driving speed.
4. The navigation path generation method according to claim 3, characterized in that: The method further comprises: Determine whether a middle node located in the middle of the array among the three nodes corresponding to each turning relationship array in the turning relationship array set corresponds to a traffic light, to obtain a second determination result; When the second judgment result indicates that the middle node located in the middle of the array corresponds to a traffic light, the turn relationship array is determined to be a delay array.
5. The navigation path generation method according to claim 4, characterized in that: The method further comprises: Based on a path-finding algorithm, the navigation path and the expected travel time of the navigation path are determined according to the road section delay matrix and the delay array.
6. A navigation path generating device, characterized in that: include: An acquisition module is used to acquire a user's navigation needs and determine a navigation start point and a navigation end point corresponding to the navigation needs; a judgment module, configured to judge whether the navigation start point and the navigation end point are both nodes in a node position list, and obtain a first judgment result; the nodes in the node position list include at least one node representing a road intersection, a road start point, and a road end point; a first determining module, configured to determine a navigation path from the navigation starting point to the navigation end point according to a node adjacency matrix when the first judgment result indicates that the navigation starting point and the navigation end point are both nodes in the node position list; The node adjacency matrix is used to represent the road traffic information between each node in the node position list; Also includes: When the first judgment result indicates that the navigation start point and the navigation end point are not all included in the node position list, updating the node position list and the node adjacency matrix based on the navigation start point and / or the navigation end point not included in the node position list to obtain an updated node position list and an updated node adjacency matrix; Determining a navigation path from the navigation starting point to the navigation end point according to the updated node adjacency matrix; Also includes: Determining a turning relationship array set, wherein a turning relationship array in the turning relationship array set is used to represent a road traffic relationship between any three nodes in the node position list or the updated node position list; Determining the navigation path according to the turn relationship array set; Wherein, the turning relationship array is recorded as W, and when the arbitrary three nodes are recorded as node i, node j, and node k, the road traffic relationship between the turning relationship array and the arbitrary three nodes is as follows: W(i,j,k)=INF means that it is impossible to reach node k from node i via node j; W(i,j,k)=1 means that it is possible to reach node k from node i via node j and node j is a cross / T-junction with a traffic light; W(i,j,k)=0 means that it is possible to reach node k from node i via node j and there is no traffic light at node j.
7. A navigation path generating device, characterized in that: include: at least one processor; as well as, 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 enable the at least one processor to: Obtaining user navigation requirements and determining the navigation starting point and navigation end point corresponding to the navigation requirements; Determine whether the navigation start point and the navigation end point are both nodes in a node position list, and obtain a first determination result; the nodes in the node position list include at least one node representing a road intersection, a road start point, and a road end point; When the first judgment result indicates that the navigation start point and the navigation end point are both nodes in the node location list, determining a navigation path from the navigation start point to the navigation end point according to a node adjacency matrix; the node adjacency matrix is used to represent road traffic information between each node in the node location list; Also includes: When the first judgment result indicates that the navigation start point and the navigation end point are not all included in the node position list, updating the node position list and the node adjacency matrix based on the navigation start point and / or the navigation end point not included in the node position list to obtain an updated node position list and an updated node adjacency matrix; Determining a navigation path from the navigation starting point to the navigation end point according to the updated node adjacency matrix; Also includes: Determining a turning relationship array set, wherein a turning relationship array in the turning relationship array set is used to represent a road traffic relationship between any three nodes in the node position list or the updated node position list; Determining the navigation path according to the turn relationship array set; Wherein, the turning relationship array is recorded as W, and when the arbitrary three nodes are recorded as node i, node j, and node k, the road traffic relationship between the turning relationship array and the arbitrary three nodes is as follows: W(i,j,k)=1 indicates that it is impossible to reach node k from node i via node j; W(i,j,k)=1 indicates that it is possible to reach node k from node i via node j and node j is a cross / T-junction with a traffic light; W(i,j,k)=0 indicates that it is possible to reach node k from node i via node j and there is no traffic light at node j.
8. A computer-readable medium having computer-readable instructions stored thereon, wherein the computer-readable instructions can be executed by a processor to implement the navigation path generation method according to any one of claims 1 to 5.
Citation Information
Patent Citations
Navigation method, device, equipment and computer storage medium
CN114413919A