Method and apparatus for generating driving routes taking into account origin-destination relationships
Patent Information
- Application Number
- JP2023540527
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2021-12-30
- Filing Date
- 2021-12-31
- Publication Date
- 2025-02-26
- Estimated Expiration
- 2041-12-31
AI Technical Summary
【0016】 前述した本開示の課題解決手段によれば、出発地-到着地関係を考慮することにより最適な走行経路を生成することができる。
Smart Images

Figure 0007636560000001 
Figure 0007636560000002 
Figure 0007636560000003
Abstract
Description
[Technical field]
[0001] The present invention relates to a method and an apparatus for generating a driving route taking into account a start-destination relationship. [Background technology]
[0002] In general, a demand-responsive transport (DRT) system is a next-generation urban transport system that includes small trains, small automated rail vehicles, and unmanned rail taxis, and is a new transport system being developed to provide the convenience of automated vehicles while eliminating drawbacks such as air pollution and traffic congestion.
[0003] The demand-based transportation system is a concept of operating unmanned autonomous vehicles on a network-type route. It can accommodate 2 to 6 passengers and is characterized by the fact that it operates without stopping by selecting the optimal route from various routes on the network after a vehicle is dispatched based on the passenger's request and the destination is determined.
[0004] To determine the sequence of points (or nodes) that must be visited in a demand-based transportation system, the traveling salesman problem (TSP) algorithm can be used.
[0005] In recent years, there has been a demand for research into efficient route generation methods that take into account the relationship between origin and destination pairs.
[0006] The above-mentioned background art is technical information possessed by the inventor for the purpose of deriving the present invention or acquired in the process of deriving the present invention, and is not necessarily publicly known art that was disclosed to the general public prior to the filing of the present application. Summary of the Invention [Problem to be solved by the invention]
[0007] The present invention provides a method and apparatus for generating a driving route that takes into account origin-destination relationships.
[0008] The TSP algorithm is a function that determines the order in which multiple nodes are visited in the shortest time (or distance). For example, by using the TSP algorithm, the order in which all homes are visited in the shortest time can be determined for home delivery to each home. However, unlike the example of home delivery where there is only a destination, in the case of personal mobility services and logistics where pick-up and drop-off occur continuously, departures and arrivals occur continuously, so it is necessary to consider the order taking into account each departure and arrival. In the present invention, a method and device that solves this problem can be provided.
[0009] The problems to be solved by the present invention are not limited to those described above, and other problems and advantages of the present invention that are not described will be understood from the following description and will be more clearly understood from the embodiments of the present invention. It will also be understood that the problems and advantages to be solved by the present invention can be realized by the means and combinations thereof shown in the claims. [Means for solving the problem]
[0010] As a technical means for solving the above-mentioned technical problem, a first aspect of the present disclosure can provide a method for generating a driving route, the method including the steps of: acquiring position information regarding a node of a first group and a node of a second group, wherein the node of the first group and the node of the second group form a pair; selecting one of the nodes of the first group as a first node based on a current position of a moving object; selecting a node of the second group that forms a pair with the first node as a second node; and generating a driving route such that the moving object visits the first node and then the second node in that order.
[0011] A second aspect of the present disclosure can provide a method for generating a driving route, the method including: a step of acquiring position information regarding nodes of a first group and nodes of a second group, wherein the nodes of the first group and the nodes of the second group form a pair; a step of selecting, based on the position of a currently selected node, one of a node of the second group that forms a pair with an already selected node of the first group and a node of the first group that has not been selected, as a next visited node; and a step of generating a driving route such that the moving object visits the nodes according to the selection order of the nodes.
[0012] A third aspect of the present disclosure provides an apparatus for generating a driving route, the apparatus including: a memory having at least one program stored therein; and a processor that performs calculations by executing the at least one program, wherein the processor performs the following steps: acquiring position information regarding nodes of a first group and nodes of a second group, wherein the nodes of the first group and the nodes of the second group form a pair; selecting one of the nodes of the first group as a first node based on a current position of a moving object; selecting a node of the second group that forms a pair with the first node as a second node; and generating a driving route such that the moving object visits the first node and then the second node in that order.
[0013] A fourth aspect of the present disclosure can provide a computer-readable recording medium having recorded thereon a program for causing a computer to execute the methods according to the first and second aspects.
[0014] In addition, other methods and systems for implementing the present invention, and computer-readable recording media having computer programs for executing the methods can also be provided.
[0015] Further aspects, features, and advantages will become apparent from the accompanying drawings, the claims, and the following detailed description of the invention. Effect of the Invention
[0016] According to the above-described means for solving the problem of the present disclosure, an optimal driving route can be generated by taking into account the departure point-destination relationship. [Brief description of the drawings]
[0017] [Figure 1] FIG. 1 is a system diagram including a user terminal and a driving route generation device according to an embodiment. [Figure 2A] FIG. 2A is a diagram for explaining an example in which a driving route generation device according to an embodiment provides a driving route to a user terminal. [Figure 2B] FIG. 2B is a diagram for explaining an example in which a driving route is provided from a driving route providing server to a user terminal according to an embodiment. [Diagram 3] FIG. 3 is an exemplary diagram for explaining the traveling salesman problem according to an embodiment. [Figure 4] FIG. 4 is an exemplary diagram illustrating a method for generating a driving route taking into account a starting point and a destination point according to an embodiment. [Diagram 5] FIG. 5 is an exemplary diagram illustrating a method for generating a driving route taking into account a starting point and a destination point using an allocation value according to an embodiment. [Figure 6] FIG. 6 is an exemplary diagram illustrating a method for generating a driving route using clustering according to an embodiment. [Figure 7] FIG. 7 is a flowchart of a method for generating a driving route according to one embodiment. [Figure 8] FIG. 8 is a flowchart of a method for generating a driving route according to one embodiment. [Figure 9] FIG. 9 is a block diagram of a driving route generation device according to one embodiment. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0018] The advantages and features of the present invention, as well as the methods for achieving them, will become apparent from the embodiments described in detail with the accompanying drawings. However, the present invention is not limited to the embodiments presented below, and can be realized in various different forms, and should be understood to include all modifications, equivalents, and alternatives within the spirit and technical scope of the present invention. The embodiments presented below are provided to complete the disclosure of the present invention and to allow those skilled in the art to fully understand the scope of the invention. In describing the present invention, if a detailed description of related publicly known technology is deemed to obscure the gist of the present invention, the detailed description will be omitted.
[0019] The terms used in this application are merely used to describe certain embodiments and are not intended to limit the present invention. A singular expression includes a plural expression unless the context clearly indicates otherwise. In this application, the terms "include" and "have" are used to specify the presence of features, numbers, steps, operations, components, parts, or combinations thereof described in the specification, and are not to be understood as precluding the presence or additional possibility of one or more other features, numbers, steps, operations, components, parts, or combinations thereof.
[0020] Some embodiments of the present disclosure may be illustrated in terms of functional block configurations and various processing steps. Some or all of such functional blocks may be implemented in any number of hardware and / or software configurations for performing specific functions. For example, the functional blocks of the present disclosure may be implemented by one or more microprocessors or by circuit configurations for a given function. Also, for example, the functional blocks of the present disclosure may be implemented in various programming or scripting languages. The functional blocks may be implemented by algorithms executed by one or more processors. Furthermore, the present disclosure may employ conventional techniques for electronic configuration, signal processing, and / or data processing, etc. Terms such as "mechanism," "element," "means," and "configuration" may be used broadly and are not limited to mechanical and physical configurations.
[0021] It should be noted that the connecting lines or connecting members between components shown in the drawings are merely exemplary of functional and / or physical connections or circuit connections, and that in an actual device, connections between components may be represented by various alternative or additional functional connections, physical connections or circuit connections.
[0022] The driving routes described below can be applied to various scenarios such as Bicycle Sharing, Car Sharing, Mobility-on-Demand, Demand Responsive Transport, Mobility Service, Mobility Management, Intermodal Passenger Transport, and Delivery.
[0023] In the following, the method of selecting one node from a plurality of selectable nodes can be the TSP algorithm. The TSP algorithm can be, but is not limited to, the Dijkstra algorithm, the A* algorithm, the bidirectional algorithm, or the like.
[0024] The present disclosure will now be described in detail with reference to the accompanying drawings.
[0025] FIG. 1 is a system diagram including a user terminal and a driving route generation device according to an embodiment.
[0026] The system according to one embodiment may include a user terminal 1000 and a driving route generation device 2000.
[0027] The user terminal 1000 may be a smartphone, a tablet PC, a PC, a smart TV, a mobile phone, a PDA (personal digital assistant), a laptop, a media player, a microserver, a GPS (global positioning system) device, an e-book reader, a digital broadcasting terminal, a navigation system, a kiosk, an MP3 player, a digital camera, a home appliance, a camera-equipped device, and other mobile or non-mobile computing devices. The user terminal 1000 may also be a wearable device such as a watch, glasses, a headband, a ring, etc., with communication and data processing capabilities. However, the user terminal 1000 is not limited to these.
[0028] In the following, the user terminal 1000 includes a driver's terminal and a passenger's terminal.
[0029] The driving route generation device 2000 may be realized by a computer device or multiple computer devices that communicate via a network to provide instructions, code, files, content, services, and the like.
[0030] The travel route generation device 2000 can generate a travel route by determining the node visiting order of a moving object (e.g., a bicycle, a kickboard, a car, a person, etc.) based on position information on a plurality of nodes. The travel route generation device 2000 can determine the node visiting order based on whether each node corresponds to a departure node or a destination node.
[0031] The user terminal 1000 and the driving route generation device 2000 can communicate with each other using a network 3000. In one embodiment, an application is installed in the user terminal 1000, and the driving route generation device 2000 may be a server that manages the application. The driving route generation device 2000 can exchange data with the user terminal 1000 via the application installed in the user terminal 1000.
[0032] The network 3000 includes a local area network (LAN), a wide area network (WAN), a value-added network (VAN), a mobile radio communication network, a satellite communication network, and a combination thereof, and is a data communication network in a comprehensive sense that enables the constituent entities of each network shown in Fig. 1 to smoothly communicate with each other, and may include a wired Internet, a wireless Internet, and a mobile wireless communication network. In addition, examples of wireless communication include, but are not limited to, wireless LAN (Wi-Fi), Bluetooth (registered trademark), Bluetooth (registered trademark) low energy, ZigBee, WFD (Wi-Fi Direct), UWB (ultra wideband), infrared communication (IrDA, infrared Data Association), and NFC (Near Field Communication).
[0033] On the other hand, while FIG. 1 shows the driving route generation device 2000 communicating with one user terminal 1000 via a network, this is merely an example, and the driving route generation device 2000 can also communicate with two or more user terminals 1000 via a network.
[0034] 2A and 2B are diagrams for explaining an example in which a driving route generation device according to an embodiment provides a driving route to a user terminal.
[0035] 2A and 2B, a first user terminal 1001 and a second user terminal 1002 are the same as the user terminal 1000 in FIG. 1, so detailed descriptions thereof will be omitted.
[0036] 2A, the first user terminal 1001 can receive an input for inputting a departure point and a destination point from the first user. For example, the first user can input node B as the departure point and node C as the destination point through the input interface of the first user terminal 1001.
[0037] The first user terminal 1001 can transmit first itinerary information including a departure point and an arrival point to the driving route generation device 2000. The itinerary information may include, but is not limited to, an input time when the first user inputs the departure point and the arrival point, a name of the departure point, a latitude and longitude of the departure point, a name of the arrival point, a latitude and longitude of the arrival point, and the like.
[0038] The driving route generation device 2000 can generate a driving route based on the first itinerary information received from the first user terminal 1001. The driving route may be a route along which a moving object travels, shown on a map.
[0039] For example, the driving route generating device 2000 can generate a driving route that travels from an A node corresponding to an initial node to a B node that is a departure point of the first user, and a driving route that travels from the B node to a C node that is a destination of the first user. Here, the initial node may be a node that corresponds to the position of the travel target at the time when the first user terminal 1001 receives an input that inputs the departure point and the destination. Alternatively, the initial node may be a node that corresponds to the position of the travel target at the time when the driving route generating device 2000 receives the first itinerary information from the first user terminal 1001.
[0040] In FIG. 2A, the driving route from node A to node B and from node B to node C is shown as a straight line, but this is for convenience of explanation, and the driving route between each node may be generated along a navigable road on an actual map.
[0041] The driving route generation device 2000 can calculate the estimated departure time and the estimated arrival time based on the generated driving route. The driving route generation device 2000 can calculate the estimated departure time and the estimated arrival time using the length of the generated driving route, traffic conditions (e.g., traffic congestion), selection options (e.g., shortest distance, shortest time, etc.), etc. The estimated departure time may mean the time from when the moving object departs from node A to when it arrives at node B, and the estimated arrival time may mean the time from when the moving object departs from node B to when it arrives at node C.
[0042] 2B, the second user terminal 1002 can receive an input for inputting a departure point and a destination point from the second user. For example, the second user can input the C node as the departure point and the D node as the destination point through the input interface of the second user terminal 1002.
[0043] The second user terminal 1002 can transmit second itinerary information including a departure point and an arrival point to the driving route generation device 2000. In the following, it is assumed that the driving route generation device 2000 generates a driving route based on the first itinerary information received from the first user terminal 1001, and then receives the second itinerary information from the second user terminal 1002.
[0044] The driving route generation device 2000 can update the driving route based on the second itinerary information received from the second user terminal 1002.
[0045] For example, after the driving route generation device 2000 receives the second itinerary information, the driving route can be updated by further generating, in addition to the existing driving route, a driving route that travels from node B to node C, which is the starting point of the second user, and a driving route that travels from node C to node D, which is the destination of the second user.
[0046] In FIG. 2B, the driving route from node C to node D and from node D to node E is shown as a straight line, but this is for convenience of explanation, and the driving route between each node may be generated along a movable road on an actual map.
[0047] The driving route generation device 2000 can calculate the estimated departure time and the estimated arrival time based on the generated driving route. The estimated departure time means the time from when the moving object departs from node B to when it arrives at node C, and the estimated arrival time can mean the time from when the moving object departs from node C to when it arrives at node D.
[0048] 2B, a travel route is generated so that the moving object moves in the order of A node, B node, C node, D node, and E node, but this is merely an example and is not limited thereto. For example, the travel route generation device 2000 can generate a travel route by determining the movement order between nodes using NI (Nearest Insertion), CI (Cheapest Insertion), FI (Farthest Insertion), RI (Random Insertion), Evolutionary Algorithm, etc.
[0049] Meanwhile, the driving route generation device 2000 receives position information on node A, which is an initial node, position information on node B, which is a departure point, and node C, which is a destination, from the first user terminal 1001, and receives position information on node D, which is a departure point, and node E, which is a destination, from the second user terminal 1002, and can then generate a driving route from node A to node E. Here, the driving route generation device 2000 can generate a driving route from node A to node E in consideration of the departure point-destination relationship.
[0050] FIG. 3 is an exemplary diagram for explaining the traveling salesman problem according to an embodiment.
[0051] The traveling salesman problem (TSP) is a type of combinatorial optimization problem in which the task is to find a way to visit multiple nodes in no particular order with the least cost.
[0052] The driving route generation device 2000 can obtain position information regarding a plurality of nodes displayed on the map 300. With reference to Fig. 3, the driving route generation device 2000 can obtain position information regarding nodes A1 to A6 displayed on the map 300. The position information may include, but is not limited to, information regarding the latitude and longitude of each node.
[0053] The travel route generation device 2000 can generate a travel route so that the moving object 301 visits all of the nodes A1 to A6. The travel route generation device 2000 can generate a travel route that takes the shortest time or the shortest distance for the moving object 301 to visit all of the nodes A1 to A6, based on the TSP algorithm.
[0054] In order to generate a driving route, the driving route generation device 2000 can take into consideration traffic conditions, road grades, etc. For example, the driving route generation device 2000 can generate a driving route that takes the shortest time or the shortest distance to visit all of the A1 to A6 nodes, taking into consideration a situation in which traffic congestion is severe on a route moving from a specific node to another node, or a road grade is low and therefore it is difficult for a moving object to move.
[0055] Meanwhile, the grade of the road may be classified according to a predetermined criterion. The network connectivity must be corrected between roads of the same grade. In one embodiment, the grade of the road may be classified from grade 1 to grade 9 according to a predetermined criterion. The predetermined criterion may include, but is not limited to, the type of road, the traffic volume of the road, the width of the road, the length of the road, and the like. Grade 1 may correspond to the highest grade, and grade 9 may correspond to the lowest grade.
[0056] FIG. 4 is an exemplary diagram illustrating a method for generating a driving route taking into account a departure point and a destination point according to an embodiment.
[0057] Mobility services can be applied to various scenarios, such as bicycle sharing, car sharing, mobility-on-demand, demand responsive transport, mobility service, mobility management, and intermodal passenger transport.
[0058] In a mobility service, a departure point and a destination point can form a pair. In order to generate a driving route for a moving object in a mobility service, it is necessary to consider whether a node visited by the moving object corresponds to the departure point or the destination point.
[0059] For example, if passenger A's departure point is node O1 and its arrival point is node D1, and passenger B's departure point is node O2 and its arrival point is node D2, the next node to which a moving object carrying passenger A can move from node O1, which is passenger A's departure point, is node D1 or node O2. The moving object cannot move from node O1 immediately to node D2, which is passenger B's arrival point. In other words, passenger B's boarding the moving object must be given priority over passenger B's disembarking from the moving object.
[0060] 4, the driving route generation device 2000 can obtain position information on a plurality of nodes displayed on a map 400. The plurality of nodes may be included in either a first group or a second group. The first group may include a node corresponding to a departure point, and the second group may include a node corresponding to a destination, but the types of nodes included in each group are not limited thereto.
[0061] Referring to (a) of Fig. 4, the O1 to O3 nodes corresponding to the departure point may be included in a first group, and the D1 to D3 nodes corresponding to the destination may be included in a second group. In addition, the nodes in the first group and the nodes in the second group may form pairs. Specifically, the O1 and D1 nodes may form a pair, the O2 and D2 nodes may form a pair, and the O3 and D3 nodes may form a pair.
[0062] The driving route generation device 2000 can select one of the nodes in the first group as the first node based on the current position of the moving object 401. With reference to (b) of Fig. 4, the driving route generation device 2000 can select the O1 node located closest to the current position of the moving object 401 as the first node from among the O1 to O3 nodes included in the first group.
[0063] In one embodiment, a moving object can depart from a departure point and move to a destination that forms a pair with the departure point. Specifically, the driving route generation device 2000 can select the D1 node that forms a pair with the O1 node as the second node from among the D1 to D3 nodes included in the second group.
[0064] The travel route generation device 2000 can generate a travel route such that the moving object 401 visits the first node and then the second node in that order.
[0065] In other embodiments, a moving object may depart from an origin and visit other origins before traveling to a destination paired with the origin.
[0066] Specifically, the driving route generating device 2000 can select one of the remaining nodes in the first group excluding the first node as the third node based on the position of the first node. For example, the driving route generating device 2000 can select the O2 node located close to the O1 node, which is the first node, as the third node from among the O2 node and the O3 node, which are the remaining nodes in the first group.
[0067] Furthermore, the driving route generating device 2000 can select, as the second node, any one of the nodes in the second group that forms a pair with the first node or the third node based on the position of the third node. For example, the driving route generating device 2000 can select, as the second node, the D1 node that is located close to the third node O2 node among the D1 node that forms a pair with the first node O1 node and the D2 node that forms a pair with the third node O2 node.
[0068] The travel route generation device 2000 can generate a travel route such that the moving object 401 visits the first node, the third node, and the second node in this order.
[0069] In yet another embodiment, a moving object may depart from a departure point and visit any one of another departure point and a destination point paired with the departure point.
[0070] Referring to (c) of Figure 4 and (d) of Figure 4, the driving route generation device 2000 can select, based on the position of the first node, any one of the remaining nodes in the first group excluding the first node and the nodes in the second group that form a pair with the first node, as the third node.
[0071] In addition, when a node in the first group is selected as the third node, the driving route generation device 2000 can select, based on the position of the third node, any one of the remaining nodes in the first group excluding the first node and the third node, and the nodes in the second group that form a pair with the first node or the third node, as the second node.
[0072] For example, if node O2 included in the first group is selected as the third node, the driving route generation device 2000 can select node D1, which is located close to node O2, from among the remaining nodes in the first group, node O3, node D1 which forms a pair with node O1, or node D2 which forms a pair with node O2, as the second node.
[0073] Alternatively, if node D1 included in the second group is selected as the third node, the driving route generation device 2000 can select node O2, which is located close to node D1, as the second node from the remaining nodes in the first group, nodes O2 and O3.
[0074] The travel route generation device 2000 can generate a travel route such that the moving object 401 visits the first node, the third node, and the second node in this order.
[0075] On the other hand, when the driving route generation device 2000 acquires new position information on the nodes of the first group and the nodes of the second group in addition to the nodes that have already been acquired, the generated driving route can be reset. The driving route generation device 2000 can regenerate a driving route by the above-mentioned method, taking into account all the nodes that have already been acquired and the newly acquired nodes.
[0076] FIG. 5 is an exemplary diagram illustrating a method for generating a driving route taking into account a starting point and a destination point using an allocation value according to an embodiment.
[0077] A method for generating a travel route, comprising the steps of: acquiring position information on a node of a first group and a node of a second group (the node of the first group and the node of the second group form a pair); setting an allocation value of the node of the first group to a reference value and setting an allocation value of the node of the second group to "reference value + 1"; selecting one of the nodes whose allocation value is "reference value" as a first node based on a current position of a moving object, updating the allocation values of the remaining nodes of the first group excluding the first node to "reference value + 1" and updating the allocation values of the remaining nodes of the second group excluding the node that forms a pair with the first node to "reference value + 2"; selecting one of the nodes whose allocation value is "reference value + 1" as a third node based on the position of the first node; a step of: when a node of a loop is selected as the third node, updating the allocation values of the remaining nodes of the first group excluding the first node and the third node to "reference value + 2", updating the allocation values of the nodes of the second group that form a pair with the first node or the third node to "reference value + 2", updating the allocation values of the remaining nodes of the second group to "reference value + 3", selecting one of the nodes having an allocation value of "reference value + 2" as the second node based on the position of the third node, when a node of the second group is selected as the third node, selecting one of the nodes having an allocation value of "reference value + 1" as the second node based on the position of the third node; and generating a travel route such that the moving object visits the first node, the third node, and the second node in that order.
[0078] 5, the driving route generation device 2000 can obtain position information on a plurality of nodes displayed on a map 500. The plurality of nodes may be included in either a first group or a second group. The first group may include a node corresponding to a departure point, and the second group may include a node corresponding to a destination, but the types of nodes included in each group are not limited thereto.
[0079] 5(a), the O1 to O3 nodes corresponding to the departure point may be included in a first group, and the D1 to D3 nodes corresponding to the destination may be included in a second group. In addition, the nodes in the first group and the nodes in the second group may form pairs. Specifically, the O1 and D1 nodes may form a pair, the O2 and D2 nodes may form a pair, and the O3 and D3 nodes may form a pair.
[0080] The driving route generating device 2000 can set the allocation values of the nodes included in the first group to a reference value, and set the allocation values of the nodes included in the second group to “reference value+1.” With reference to (b) of Fig. 5, the driving route generating device 2000 can set the allocation values of the O1 to O3 nodes to 1 (reference value), and set the allocation values of the D1 to D3 nodes to 2.
[0081] The driving route generation device 2000 can select one of the nodes having an allocation value of "reference value" as the first node based on the current position of the moving object 501. With reference to (b) of Fig. 5, the driving route generation device 2000 can select the O1 node, which is closest to the current position of the moving object 501, as the first node from among the O1 to O3 nodes having an allocation value of 1.
[0082] The driving route generation device 2000 can update the allocation values of the remaining nodes in the first group excluding the first node to "reference value + 1", and update the allocation values of the remaining nodes in the second group excluding the node paired with the first node to "reference value + 2". Referring to (c) of Fig. 5, the driving route generation device 2000 can update the allocation values of the O2 node and the O3 node to 2, and update the allocation values of the D2 node and the D3 node, which are the remaining nodes in the second group excluding the D1 node, to 3. The allocation value of the D1 node can be maintained at 2.
[0083] Based on the position of the first node, the driving route generating device 2000 can select one of the nodes having an allocation value of "reference value + 1" as the third node. With reference to (c) of Fig. 5, the driving route generating device 2000 can select one of the O2 node, the O3 node, and the D1 node having an allocation value of 2 as the third node.
[0084] In one embodiment, when a node of the second group is selected as the third node, the driving route generating device 2000 may select one of the nodes having an allocation value of "reference value + 1" as the second node based on the position of the third node. Referring to (d) of Fig. 5, when the D1 node is selected as the third node, the driving route generating device 2000 may select one of the O2 node and the O3 node having an allocation value of 2 as the second node.
[0085] In another embodiment, when a node of the first group is selected as the third node, the allocation values of the remaining nodes of the first group excluding the first node and the third node can be updated to "reference value + 2", the allocation values of the nodes of the second group paired with the first node or the third node can be updated to "reference value + 2", and the allocation values of the remaining nodes of the second group can be updated to "reference value + 3". Also, based on the position of the third node, any one of the nodes with an allocation value of "reference value + 2" can be selected as the second node.
[0086] For example, when the O2 node is selected as the third node, the driving route generation device 2000 can update the allocation value of the O3 node in the first group excluding the O1 and O2 nodes to 3, update the allocation values of the D1 node paired with the O1 node and the D2 node paired with the O2 node to 3, and update the allocation value of the D3 node, which is the remaining node in the second group, to 4. The driving route generation device 2000 can select any one of the O3 node, the D1 node, and the D2 node, each having an allocation value of 3, as the second node.
[0087] The travel route generation device 2000 can generate a travel route such that the moving object 501 visits the first node, the third node, and the second node in this order.
[0088] FIG. 6 is an exemplary diagram illustrating a method for generating a driving route using clustering according to an embodiment.
[0089] Referring to FIG. 6, the driving route generation device 2000 can obtain position information on a plurality of nodes displayed on a map 600. The departure node (O1, O2, O3, O4, O5, O6) may be included in a first group, and the destination node (D1, D2, D3, D4, D5, D6) may be included in a second group. Pairs may be formed between the departure node and the destination node. That is, each node in the first group may form a pair with each node in the second group. For example, the O1 node and the D1 node may form a pair, the O2 node and the D2 node may form a pair, the O3 node and the D3 node may form a pair, the O4 node and the D4 node may form a pair, the O5 node and the D5 node may form a pair, and the O6 node and the D6 node may form a pair.
[0090] The driving route generation device 2000 can also generate at least one cluster for each pair using a clustering algorithm such as k-means++. The driving route generation device 2000 can select a middle point between the departure point and the destination point for each pair and use the middle point as a data point when calculating the centroid or center of gravity of each cluster. For example, when the six midpoints of each of the pairs O1 and D1, O2 and D2, O3 and D3, O4 and D4, O5 and D5, and O6 and D6 are input into a clustering algorithm with k=2, the three pairs of O1 and D1, O2 and D2, and O3 and D3 may be clustered into a first cluster 610, and the other three pairs of O4 and D4, O5 and D5, and O6 and D6 may be clustered into a second cluster 620.
[0091] The driving route generation device 2000 can generate a driving route that visits all the nodes of at least one cluster. First, the driving route generation device 2000 can determine the order of visiting clusters based on the proximity of the moving object 601 to the center of gravity of each cluster. That is, a cluster closer to the moving object 601 is visited before another cluster farther away from the moving object 601. For example, in FIG. 6, since the distance between the moving object 601 and the first center of gravity C1 is shorter than the distance between the moving object 601 and the second center of gravity C2, the driving route generation device 2000 can determine that the moving object 601 visits the first cluster 610 first, and then visits the second cluster 620. When determining the visiting order, an expected time of arrival (ETA) can also be used instead of the distance.
[0092] Next, the driving route generation device 2000 can determine the entry node and the exit node of each cluster. Except for the entry node of the first cluster and the exit node of the last cluster, the entry node and the exit node of consecutive clusters can be determined based on the proximity between the destination node of one cluster and the start node of another cluster according to the order.
[0093] In one embodiment, the entry node of the first cluster may be determined by selecting a departure node of the first cluster that is closest to the current location of the vehicle. For example, referring to FIG. 6, if the first cluster 610 is the first cluster, among departure nodes O1, O2, and O3 of the first cluster 610, O1 may be selected as the entry node of the first cluster 610. The exit node of the last cluster may be determined by selecting a destination node of the last cluster that is farthest from the current location of the vehicle. For example, if the second cluster 620 is the last cluster, among destination nodes D4, D5, and D6, D6 may be selected as the exit node of the second cluster 620.
[0094] After the entry node of the first cluster and the exit node of the last cluster are determined, the destination node and the departure node with the shortest distance therebetween can be selected as the entry node and the exit node of at least one cluster. For example, the driving route generation device 2000 can measure the distance between D1, D2, and D3 of the cluster 610 and O4, O5, and O6 of the cluster 620, compare all possible combinations between D1, D2, and D3 of the first cluster 610 and O4, O5, and O6 of the second cluster 620, and then select D2 as the exit node of the first cluster 610 and O6 as the entry node of the second cluster 620.
[0095] Finally, the order of nodes to visit in each cluster can be determined using the methods described with reference to Figures 4 and 5.
[0096] FIG. 7 is a flowchart of a method for generating a driving route according to one embodiment.
[0097] The method for generating a driving route shown in Figure 7 relates to the embodiment described in the above figure, so even if the content is omitted below, the content described in the above figure can also be applied to the method of Figure 7.
[0098] Referring to FIG. 7, in step 710, a processor may obtain location information for a first group of nodes and a second group of nodes.
[0099] The first group may include nodes corresponding to departure points, and the second group may include nodes corresponding to destination points, but the types of nodes included in each group are not limited to this.
[0100] The location information may include, but is not limited to, information about the latitude and longitude of each node. The processor may also obtain traffic conditions, road grades, etc. in the areas where the first group of nodes and the second group of nodes are located. Such information obtained by the processor can then be used to select one of the various selectable nodes using the TSP algorithm.
[0101] In step 720, the processor may select any one of the nodes in the first group as the first node based on the current location of the moving object.
[0102] In step 730, the processor may select, based on the position of the first node, any one of the remaining nodes in the first group excluding the first node and the nodes in the second group that form a pair with the first node as the third node.
[0103] In step 740, the processor may determine whether a node in the first group is selected as the third node.
[0104] If a node in the first group is selected as the third node, then the method may proceed to step 750 .
[0105] In step 750, the processor may select, based on the position of the third node, any one of the remaining nodes of the first group excluding the first node and the third node, and the nodes of the second group that form a pair with the first node or the third node, as the second node.
[0106] If a node in the second group is selected as the third node, then we can proceed to step 760 .
[0107] In step 760, the processor may select any one of the remaining nodes of the first group excluding the first node as the second node based on the position of the third node.
[0108] In step 770, the processor can generate a travel route for the moving object to visit the first node, the third node, and the second node in that order.
[0109] FIG. 8 is a flow chart of a method for generating a driving route according to one embodiment.
[0110] The method for generating a driving route shown in Figure 8 relates to the embodiment described in the above figure, so even if the content is omitted below, the content described in the above figure can also be applied to the method of Figure 8.
[0111] Referring to FIG. 8, in step 810, a processor may obtain location information regarding a first group of nodes and a second group of nodes.
[0112] In step 820, the processor may select, based on the position of the currently selected node, one of a second group of nodes that forms a pair with an already selected node in the first group of nodes, and an unselected node in the first group as the next node to be visited.
[0113] In the following, it is assumed that the first group includes nodes O1 to O3, the second group includes nodes D1 to D3, the O1 and D1 nodes form a pair, the O2 and D2 nodes form a pair, and the O3 and D3 nodes form a pair.
[0114] Since the first group of nodes is a departure node and the second group of nodes is a destination node, in the present invention, the second group of nodes is designed to be selected only after the first group of nodes to form a pair with it are selected, and the present invention is designed to prevent a node that has been selected once from being reselected.
[0115] For example, assume that the O1 node is an already selected node, the O2 node is a currently selected node, and no other nodes are selected. The processor can select one of the D1 node paired with the O1 node, the D2 node paired with the O2 node, and the O3 node of the first group that has not yet been selected as the next node to be visited.
[0116] Alternatively, assume that the D1 node is the currently selected node and the other nodes are not selected. However, it can be inferred that the O1 node paired with the D1 node has already been selected by the above-mentioned design method. The processor can select one of the O2 and O3 nodes in the first group that have not yet been selected as the next visited node.
[0117] On the other hand, as described above, the TSP algorithm can be used as a method for selecting one node from a plurality of selectable nodes.
[0118] In step 830, the processor can generate a travel route for the moving object to visit the nodes according to the selection order of the nodes.
[0119] For example, if the nodes O1, D1, and O2 are selected in this order, the processor can generate a travel route such that the moving object visits the nodes O1, D1, and O2 in this order.
[0120] FIG. 9 is a block diagram of a driving route generation device according to an embodiment.
[0121] 9, a driving route generation device 900 may include a communication unit 910, a processor 920, and a DB 930. Only components related to the embodiment are shown in the driving route generation device 900 in FIG. 9. Therefore, a person having ordinary skill in the art would understand that the driving route generation device 900 may further include other general-purpose components in addition to the components shown in FIG.
[0122] The communication unit 910 may include one or more components that enable wired / wireless communication between the user terminal and the payment criteria data providing server. For example, the communication unit 910 may include at least one of a short-range communication unit (not shown), a mobile communication unit (not shown), and a broadcast receiving unit (not shown).
[0123] The DB 930 is hardware that stores various data processed in the driving route generation device 900, and may store programs for processing and control of the processor 920. The DB 930 may store payment information, user information, and the like.
[0124] DB930 may include dynamic random access memory (DRAM), random access memory (RAM), such as static random access memory (SRAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), CD-ROM, Blu-ray or other optical disc storage, hard disk drive (HDD), solid state drive (SSD), or flash memory.
[0125] The processor 920 controls the overall operation of the driving route generation device 900. For example, the processor 920 may generally control an input unit (not shown), a display (not shown), a communication unit 910, the DB 930, etc. by executing a program stored in the DB 930. The processor 920 may generally control the operation of the driving route generation device 900 by executing a program stored in the DB 930.
[0126] The processor 920 can control at least a portion of the operations of the applications described above in FIGS.
[0127] The processor 920 may be implemented using at least one of ASICs (application specific integrated circuits), DSPs (digital signal processors), DSPDs (digital signal processing devices), programmable logic devices (PLDs), field programmable gate arrays (FPGAs), controllers, micro-controllers, microprocessors, and other electrical units for performing functions.
[0128] The embodiments according to the present invention may be realized in the form of a computer program executable by various components on a computer, and such a computer program may be recorded on a computer readable medium, including magnetic media such as hard disks, floppy disks, and magnetic tapes, optical media such as CD-ROMs and DVDs, magneto-optical media such as floptical disks, and hardware devices specially configured to store and execute program instructions, such as ROMs, RAMs, flash memories, and the like.
[0129] On the other hand, the computer program may be one specially designed and constructed for the present invention, or it may be one that is well known and available to those skilled in the art of computer software. Examples of computer programs include not only machine code, such as that produced by a compiler, but also high-level language code that is executed by a computer using an interpreter or the like.
[0130] According to one embodiment, the methods according to various embodiments of the present disclosure can be provided in a computer program product. The computer program product can be traded between sellers and buyers as a commodity. The computer program product can be distributed in the form of a machine-readable storage medium (e.g., a compact disc read only memory (CD-ROM)) or can be distributed in the form of an application store (e.g., the Play Store). TM ) or directly between two user devices. In the case of online distribution, at least a part of the computer program product may be at least temporarily stored or temporarily generated on a machine-readable storage medium, such as a memory of a manufacturer's server, an application store's server, or an intermediary server.
[0131] Unless there is an explicit order description or a contrary description regarding the steps constituting the method according to the present invention, the steps can be performed in any suitable order. The present invention is not necessarily limited to the order of the steps described above. The use of all examples or exemplary terms (such as, for example, etc.) in the present invention is merely for the purpose of explaining the present invention in detail, and the scope of the present invention is not limited by the examples or exemplary terms unless limited by the claims. In addition, those skilled in the art will understand that various modifications, combinations and changes can be made within the scope of the claims or their equivalents according to design conditions and factors.
[0132] Therefore, the concept of the present invention should not be limited to the above-described embodiments, and all scopes equivalent to or modified equivalently to the scope of the attached claims, as well as the scope of the present invention, fall within the scope of the concept of the present invention.
Claims
1. A method for generating a driving route, comprising: obtaining location information for a first group of nodes and a second group of nodes, the first group of nodes and the second group of nodes forming a pair; assigning a first allocation value to the nodes of the first group and assigning a second allocation value to the nodes of the second group based on the first allocation value; selecting one node from the first group of nodes as a first node based on a current location of a moving object; In response to the selection of the first node, updating the first allocation value of the remaining nodes of the first group excluding the first node to the second allocation value, and updating the second allocation value of the remaining nodes of the second group excluding a node forming a pair with the first node to a third allocation value; selecting, as a third node, one of the nodes whose assigned allocation value corresponds to a second assigned value based on a position of the first node; selecting a second node based on a position of the third node; generating a travel route such that the moving object visits the first node, the third node, and the second node in that order.
2. The step of selecting the second node comprises:
2. The method of claim 1, further comprising the step of selecting, as the second node, any one of the nodes of the second group that forms a pair with the first node or the third node based on a position of the third node.
3. The step of selecting the second node comprises: if a node of the first group is selected as the third node, updating the second allocation value of the remaining nodes of the first group excluding the first node and the third node to the third allocation value, updating the allocation value of the node of the second group that forms a pair with any one of the first node and the third node to the third allocation value, updating the allocation value of the remaining nodes of the second group to a fourth allocation value, and selecting, as the second node, any one of the nodes whose allocation value is the third allocation value based on a position of the third node; 2. The method of claim 1, further comprising the step of: when a node of the second group is selected as the third node, selecting, based on a position of the third node, one of the nodes whose allocation value corresponds to a second allocation value as the second node.
4. The method comprises: obtaining location information for a third group of nodes and a fourth group of nodes, the third group of nodes and the fourth group of nodes forming a pair; clustering the first group of nodes and the second group of nodes to generate a first cluster, and clustering the third group of nodes and the fourth group of nodes to generate a second cluster; generating a first travel route such that the moving object sequentially visits the nodes included in the first cluster, and generating a second travel route such that the moving object sequentially visits the nodes included in the second cluster; and connecting the first travel path and the second travel path to generate a final travel path.
5. The step of generating the first travel route and the second travel route includes: When the moving object visits the first cluster first, the node of the second group located at the shortest distance from the node included in the second group to the node included in the third group is determined as the last visited node of the first cluster, and the node of the third group located at the shortest distance is determined as the first visited node of the second cluster; 5. The method of claim 4, further comprising the steps of: if the moving object visits the second cluster first, determining the node of the second group located at the shortest distance between a node included in the second group and a node included in the third group as the first visited node of the first cluster; and determining the node of the third group located at the shortest distance as the last visited node of the second cluster.
6. The method comprises: The method of claim 1 , further comprising the step of resetting the generated driving route when the first group of nodes and the second group of nodes are newly added.
7. A method for generating a driving route, comprising: obtaining location information for a first group of nodes and a second group of nodes, the first group of nodes and the second group of nodes forming a pair; assigning a first allocation value to the nodes of the first group and assigning a second allocation value to the nodes of the second group based on the first allocation value; updating the first allocation value of the remaining nodes of the first group excluding the selected node from the first group to the second allocation value, in response to the selection of any one node from among the nodes of the first group, and updating the second allocation value of the remaining nodes of the second group excluding a node forming a pair with the first node to a third allocation value; selecting, as a next visited node, one of a node of the second group forming a pair with a node already selected from the nodes of the first group and a node of the first group that has not been selected, based on the position of the currently selected node and the updated allocation value; generating a travel route for the moving object to visit the nodes according to the selection order of the nodes.
8. 1. An apparatus for generating a travel route, comprising: a memory having at least one program stored therein; a processor for executing the at least one program to perform operations; The processor, obtaining location information for a first group of nodes and a second group of nodes, the first group of nodes and the second group of nodes forming a pair; assigning a first allocation value to the nodes of the first group and assigning a second allocation value to the nodes of the second group based on the first allocation value; selecting one node from the first group of nodes as a first node based on a current location of a moving object; In response to the selection of the first node, updating the first allocation value of the remaining nodes of the first group excluding the first node to the second allocation value, and updating the second allocation value of the remaining nodes of the second group excluding a node forming a pair with the first node to a third allocation value; selecting, as a third node, one of the nodes whose assigned allocation value corresponds to a second assigned value based on a position of the first node; selecting a second node based on a position of the third node; generating a travel route such that the moving object visits the first node, the third node, and the second node in that order.
9. A computer-readable recording medium having recorded thereon a program for executing the method according to claim 1 on a computer.
Citation Information
Patent Citations
Navigation system
JP2004245630A
Vehicle operation management system for getting passenger on and off and for making collection and delivery via plural points
JP2005316983A
Operation plan program, operation plan method, operation plan device and operation plan system
JP2017191504A
Information processing device, information processing method and program
WO2020262673A1