WO2022146095A1 - 출발지-도착지 관계를 고려한 주행 경로를 생성하기 위한 방법 및 장치 - Google Patents
출발지-도착지 관계를 고려한 주행 경로를 생성하기 위한 방법 및 장치 Download PDFInfo
- Publication number
- WO2022146095A1 WO2022146095A1 PCT/KR2021/020336 KR2021020336W WO2022146095A1 WO 2022146095 A1 WO2022146095 A1 WO 2022146095A1 KR 2021020336 W KR2021020336 W KR 2021020336W WO 2022146095 A1 WO2022146095 A1 WO 2022146095A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- node
- nodes
- group
- driving route
- generating
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 74
- 238000004891 communication Methods 0.000 description 34
- 238000010586 diagram Methods 0.000 description 21
- 238000004590 computer program Methods 0.000 description 13
- 238000012545 processing Methods 0.000 description 12
- 230000006870 function Effects 0.000 description 11
- 238000003780 insertion Methods 0.000 description 8
- 230000037431 insertion Effects 0.000 description 8
- 238000007726 management method Methods 0.000 description 4
- 238000010295 mobile communication Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 238000013461 design Methods 0.000 description 3
- 238000003491 array Methods 0.000 description 2
- 238000010420 art technique Methods 0.000 description 2
- 230000002457 bidirectional effect Effects 0.000 description 2
- 239000000470 constituent Substances 0.000 description 2
- 238000009795 derivation Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000011521 glass Substances 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 238000000844 transformation Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/40—Business processes related to the transportation industry
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/26—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
- G01C21/34—Route searching; Route guidance
- G01C21/3407—Route searching; Route guidance specially adapted for specific applications
- G01C21/343—Calculating itineraries, i.e. routes leading from a starting point to a series of categorical destinations using a global route restraint, round trips, touristic trips
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/26—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
- G01C21/34—Route searching; Route guidance
- G01C21/36—Input/output arrangements for on-board computers
- G01C21/3605—Destination input or retrieval
Definitions
- the present invention relates to a method and an apparatus for generating a travel route in consideration of the origin-destination relationship.
- DDT Demand Responsive Transport
- small train small self-driving tracked vehicle
- unmanned tracked taxi unmanned tracked taxi
- the demand-responsive transportation system is a concept that operates an unmanned autonomous vehicle on a network-type route. It can accommodate 2 to 6 passengers, and when the destination is determined after the dispatch is made at the request of the passenger, the optimal route among various routes on the network is determined. It has the characteristic of selecting a route and driving without stopping.
- a traveling salesman problem (TSP) algorithm may be used to determine the order of points (or nodes) to be visited in the demand-responsive transportation system.
- An object of the present invention is to provide a method and apparatus for generating a driving route in consideration of the origin-destination relationship.
- the TSP algorithm is a function that determines the order of visiting all nodes in the minimum time (or distance) when visiting multiple nodes. For example, if the TSP algorithm is used, it is possible to obtain the order of visiting all the households in the least amount of time in delivering a parcel to each household. However, unlike the case where there is only a destination as in the example of courier service, in the case of personal mobility service or logistics where loading and unloading occurs continuously, departure and arrival occur continuously, so each departure and arrival It is necessary to consider the order of consideration.
- the present invention can provide a method and apparatus for solving this problem.
- a first aspect of the present disclosure is a method for generating a travel route, comprising: obtaining location information for nodes of a first group and nodes of a second group; - the first group of nodes and the second group of nodes form a pair; selecting one of the nodes of the first group as a first node based on the current location of the moving target; selecting a node forming a pair with the first node from among the nodes of the second group as a second node; and generating a driving route so that the moving target visits the first node and the second node in order.
- a second aspect of the present disclosure is a method for generating a travel 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 the nodes of the group form a pair; Based on the location of the currently selected node, select any one node from among the nodes of the second group forming a pair with the pre-selected node among the nodes of the first group, and the nodes of the first group that are not selected selecting as the next visited node; and generating a travel route so that the moving target visits a node according to a selection order of the node.
- a third aspect of the present disclosure is an apparatus for generating a travel route, comprising: a memory in which at least one program is stored; and a processor that performs an operation by executing the at least one program, wherein the processor obtains location information about nodes of a first group and nodes of a second group - the node of the first group and the second group of nodes form a pair; selecting one of the nodes of the first group as a first node based on the current location of the moving target; selecting a node forming a pair with the first node from among the nodes of the second group as a second node; and generating a travel route so that the moving target visits the first node and the second node in the order of the first node and the second node.
- a fourth aspect of the present disclosure may provide a computer-readable recording medium in which a program for executing the methods according to the first and second aspects in a computer is recorded.
- FIG. 1 is a system diagram including a user terminal and a driving route generating server according to an embodiment.
- FIGS. 2A to 2B are diagrams for explaining an example of providing a driving route from a driving route providing server to a user terminal according to an exemplary embodiment.
- FIG. 3 is an exemplary diagram for explaining a traveling salesperson problem according to an embodiment.
- FIG. 4 is an exemplary diagram for explaining a method of generating a driving route in consideration of a departure point and a destination according to an embodiment.
- FIG. 5 is an exemplary diagram for explaining a method of generating a driving route in consideration of a departure point and a destination by using an allocation value according to an embodiment.
- FIG. 6 is an exemplary diagram for explaining a method of generating a driving route in consideration of a departure point and a destination using clustering according to an embodiment.
- FIG. 7 is a flowchart of a method of generating a driving route according to an exemplary embodiment.
- FIG. 8 is a flowchart of a method of generating a driving route according to an exemplary embodiment.
- FIG. 9 is a block diagram of a driving route generating server according to an exemplary embodiment.
- the present invention relates to a method and apparatus for generating a travel route.
- a method obtains location information on nodes of a first group and nodes of a second group, and selects any one of the nodes of the first group based on the current location of a moving target.
- a node is selected as a first node
- a node forming a pair with the first node from among the nodes of the second group is selected as a second node
- a travel route is determined so that the moving target visits the first node and the second node in order can create
- Some embodiments of the present disclosure may be represented by functional block configurations and various processing steps. Some or all of these functional blocks may be implemented in various numbers of hardware and/or software configurations that perform specific functions.
- the functional blocks of the present disclosure may be implemented by one or more microprocessors, or by circuit configurations for a given function.
- the functional blocks of the present disclosure may be implemented in various programming or scripting languages.
- the functional blocks may be implemented as an algorithm running on one or more processors.
- the present disclosure may employ prior art techniques for electronic configuration, signal processing, and/or data processing, etc. Terms such as “mechanism”, “element”, “means” and “configuration” will be used broadly. and are not limited to mechanical and physical configurations.
- connecting lines or connecting members between the components shown in the drawings only exemplify functional connections and/or physical or circuit connections.
- a connection between components may be represented by various functional connections, physical connections, or circuit connections that are replaceable or added.
- the driving routes described below are: Bicycle Sharing, Car Sharing, Mobility-on-Demand, Demand Responsive Transport, Mobility Service, Mobility Management, Integrated Passenger Transport ( It can be applied to various scenarios such as Intermodal Passenger Transport) and delivery.
- a TSP algorithm may be used as a method of selecting any one node from among several selectable nodes below.
- a Dijkstra algorithm an A* algorithm, or a bidirectional algorithm may be used, but is not limited thereto.
- FIG. 1 is a system diagram including a user terminal and a driving route generating server according to an embodiment.
- a system may include the user terminal 1000 and the driving route generating server 2000 .
- the user terminal 1000 is a smart phone, a tablet PC, a PC, a smart TV, a mobile phone, a personal digital assistant (PDA), a laptop, a media player, a micro server, a global positioning system (GPS) device, an e-book terminal, and a digital broadcasting terminal. , navigation, kiosks, MP3 players, digital cameras, consumer electronics, camera-equipped devices, and other mobile or non-mobile computing devices.
- the user terminal 1000 may be a wearable device such as a watch, glasses, a hair band, and a ring having a communication function and a data processing function. However, it is not limited thereto.
- the driving route generating server 2000 may be implemented as a computer device or a plurality of computer devices that communicates through a network and provides commands, codes, files, contents, services, and the like.
- the driving route generating server 2000 may generate a driving route by determining a node visit order of a moving target (eg, a bicycle, a kickboard, a car, a person, etc.) based on location information on a plurality of nodes.
- the driving route generating server 2000 may determine the node visit order based on whether each node corresponds to either a source node or a destination node.
- the user terminal 1000 and the driving route generating server 2000 may perform communication using the network 3000 .
- an application is installed in the user terminal 1000
- the driving route generating server 2000 may be a server that manages the application.
- the driving route generating server 2000 may exchange data with the user terminal 1000 through an application installed in the user terminal 1000 .
- the network 3000 is a local area network (LAN), a wide area network (WAN), a value added network (VAN), a mobile communication network (mobile radio communication network), a satellite communication network, and their mutual It is a data communication network in a comprehensive sense that includes a combination and enables each of the network constituent entities shown in FIG. 1 to communicate smoothly with each other, and may include a wired Internet, a wireless Internet, and a mobile wireless communication network.
- wireless communication is, for example, wireless LAN (Wi-Fi), Bluetooth, Bluetooth low energy, Zigbee, WFD (Wi-Fi Direct), UWB (ultra wideband), infrared communication (IrDA, infrared Data Association), NFC (Near Field Communication), etc. may be there, but is not limited thereto.
- the driving route generating server 2000 is illustrated as performing communication with one user terminal 1000 using a network, but this is only an example, and the driving route generating server 2000 includes two or more user terminals. Communication may be performed using the network with 1000 .
- FIGS. 2A to 2B are diagrams for explaining an example of providing a driving route from a driving route providing server to a user terminal according to an exemplary embodiment.
- first user terminal 1001 and the second user terminal 1002 in FIGS. 2A to 2B are the same as the user terminal 1000 of FIG. 1 , a detailed description thereof will be omitted.
- the first user terminal 1001 may receive an input for inputting a departure point and a destination from the first user.
- the first user may input node B as a starting point and node C as a destination through the input interface of the first user terminal 1001 .
- the first user terminal 1000 may transmit the first journey information including the departure point and the destination to the driving route generating server 2000 .
- the itinerary information may include, but is not limited to, the input time at which the 1 user inputs the origin and destination, the name of the origin, the latitude and longitude of the origin, the name of the destination, and the latitude and longitude of the destination.
- the driving route generating server 2000 may generate a driving route based on the first journey information received from the first user terminal 1000 .
- the driving route may indicate a route on which the moving target will travel on a map.
- the driving route generating server 2000 includes a driving route from node A corresponding to the initial node to node B, which is the starting point of the first user, and a driving route from node B to node C, which is the destination of the first user.
- the initial node may be a node corresponding to the location of the moving target at the point in time when an input for inputting a departure point and a destination is received from the first user terminal 1000 .
- the initial node may be a node corresponding to the location of the moving target at the time the travel route generating server 2000 receives the first journey information from the first user terminal 1000 .
- the driving path moving 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 path between each node is along a movable path on the actual map. can be created
- the driving route generating server 2000 may calculate an expected departure time and an expected arrival time based on the generated driving route.
- the driving route generation server 2000 uses the length of the generated driving route, traffic conditions (eg, traffic jam), selection options (eg, shortest distance, shortest time, etc.) to estimate departure and arrival times, etc. time can be calculated.
- the expected departure time may mean a time for the moving object to arrive at the B node after departing from the A node
- the expected arrival time may mean a time for the moving target to arrive at the C node after leaving the B node.
- the second user terminal 1002 may receive an input for inputting a departure point and a destination from the second user.
- the second user may input node C as a source and node D as a destination through the input interface of the second user terminal 1002 .
- the second user terminal 1002 may transmit the second itinerary information including the departure point and the destination to the driving route generating server 2000 .
- the driving route generation server 2000 generates a driving route based on the first journey information received from the first user terminal 1001 , and then receives the second journey information from the second user terminal 1002 . presupposes that
- the driving route generating server 2000 may update the driving route based on the second journey information received from the second user terminal 1002 .
- a driving route moving from node B to node C, which is the origin of the second user, and the second user from node C By additionally creating a driving route that moves to node D, which is the destination of , the driving route can be updated.
- the driving path moving from the C node to the D node and from the D node to the E node is shown as a straight line, but this is for convenience of explanation, and the driving path between each node is generated along a movable path on the actual map.
- the driving route generating server 2000 may calculate an expected departure time and an expected arrival time based on the generated driving route.
- the expected departure time may mean a time at which the moving object arrives at the C node after departing from the B node
- the expected arrival time may mean the time at which the moving target arrives at the D node after departing from the C node.
- the driving route generation server 2000 determines the movement order between nodes using Nearest Insertion (NI), Cheapest Insertion (CI), Farthest Insertion (FI), and Random Insertion (RI), Evolutionary Algorithm, etc. By doing so, a driving route can be created.
- NI Nearest Insertion
- CI Cheapest Insertion
- FI Farthest Insertion
- RI Random Insertion
- the driving route generating server 2000 receives the location information on the initial node, node A, and the location information on the node B, which is the starting point, and the node C, which is the destination, from the first user terminal 1001, and the second user terminal ( 1002), after receiving the location information on the starting node D and the destination E node, driving routes for nodes A to E may be generated.
- the driving route generating server 2000 may generate driving routes for nodes A to E in consideration of the origin-destination relationship.
- FIG. 3 is an exemplary diagram for explaining a traveling salesperson problem according to an embodiment.
- TSP traveling salesman problem
- the driving route generating server 2000 may acquire location information on a plurality of nodes displayed on the map 300 . Referring to FIG. 3 , the driving route generating server 2000 may obtain location information on nodes A1 to A6 displayed on the map 300 .
- the location information may include information on latitude and longitude of each node, but is not limited thereto.
- the driving route generating server 2000 may generate a driving route so that the moving target 301 visits all nodes A1 to A6.
- the driving route generating server 2000 may generate the shortest travel route or the shortest travel route in which the moving target 301 visits all of the nodes A1 to A6 based on the TSP algorithm.
- the driving route generating server 2000 may consider a traffic situation, a road grade, and the like to generate a driving route. For example, in consideration of situations in which it is difficult for a moving target to move due to a severe traffic jam or a low road grade on a path moving from a specific node to another node, the driving route generating server 2000 configures all nodes A1 to A6. It is possible to create a driving route with the shortest time to visit or a driving route with the shortest distance.
- the grade of the road may be classified according to a predetermined standard. Network connectivity must be calibrated between roads of the same class.
- the grade of the road may be divided into grades 1 to 9 according to a predetermined criterion.
- the predetermined criterion may include, but is not limited to, a type of road, a road traffic amount, a road width, a road length, and the like. Grade 1 may correspond to the highest grade, and grade 9 may correspond to the lowest grade.
- FIG. 4 is an exemplary diagram for explaining a method of generating a driving route in consideration of a departure point and a destination according to an embodiment.
- Mobility services include Bicycle Sharing, Car Sharing, Mobility-on-Demand, Demand Responsive Transport, Mobility Service, Mobility Management, Intermodal Passenger Transport) can be applied to various scenarios.
- the origin and destination may form a pair.
- the departure point of passenger A is the node O1
- the destination is the node D1
- the departure point of passenger B is the node O2
- the destination is the node D2
- the next node that can be moved is either the D1 node or the O2 node.
- the moving target cannot move directly from node O1 to node D2, which is the destination of passenger B. That is, the passenger B getting on the moving object should have priority over the passenger B getting off the moving object.
- the driving route generating server 2000 may obtain location information on a plurality of nodes displayed on the map 400 .
- the plurality of nodes may be included in any one of the first group and the second group.
- the first group may include a node corresponding to a departure point
- the second group may include a node corresponding to a destination, but the types of nodes included in each group are not limited thereto.
- nodes O1 to O3 corresponding to a source may be included in a first group, and nodes D1 to D3 corresponding to a destination may be included in a second group.
- the nodes of the first group and the nodes of the second group may form a pair.
- the O1 node and the D1 node, the O2 node and the D2 node, and the O3 node and the D3 node may form a pair.
- the driving route generating server 2000 may select any one of the nodes of the first group as the first node based on the current location of the moving target 401 . Referring to FIG. 4B , from among nodes O1 to O3 included in the first group, the driving route generating server 2000 selects the node O1 closest to the current location of the moving target 401 as the first node. can
- the moving target may start from the origin and move to a destination paired with the origin.
- the driving route generating server 2000 may select the node D1 forming a pair with the node O1 as the second node.
- the driving route generating server 2000 may generate a driving route so that the moving target 401 visits the first node and the second node in order.
- the moving target may visit another starting point before moving from the starting point to a destination paired with the starting point.
- the driving route generating server 2000 may select any one node from among the remaining nodes of the first group excluding the first node as the third node based on the location of the first node. For example, the driving route generating server 2000 may select, as the third node, an O2 node located close to the O1 node, which is the first node, from among the O2 nodes or O3 nodes that are the remaining nodes of the first group.
- the driving route generating server 2000 may select any one node forming a pair with the first node or the third node from among the nodes of the second group as the second node based on the location of the third node. For example, the driving route generating server 2000 is close to the third node O2 node among the D1 nodes forming a pair with the O1 node as the first node or the D2 nodes forming the pair with the O2 node as the third node. The located D1 node may be selected as the second node.
- the driving route generating server 2000 may generate a driving route so that the moving target 401 visits the first node, the third node, and the second node in order.
- the moving target may depart from the origin and visit any one of another origin or destination paired with the origin.
- the driving route generating server 2000 is configured to pair with the remaining nodes of the first group except for the first node based on the location of the first node, and the first node. Any one node among the nodes of the second group forming the ? may be selected as the third node.
- the driving route generating server 2000 determines the remaining nodes of the first group except for the first node and the third node based on the location of the third node, and the second node. Any one of the nodes of the second group forming a pair with the first node or the third node may be selected as the second node.
- the driving route generating server 2000 may configure the O3 node that is the remaining nodes of the first group, the D1 node forming a pair with the O1 node, or O2 Among the D2 nodes forming a pair with the node, a D1 node located close to the O2 node may be selected as the second node.
- the driving route generating server 2000 selects an O2 node located close to the D1 node from among the O2 nodes and O3 nodes, which are the remaining nodes of the first group, as the second node. It can be selected as a node.
- the driving route generating server 2000 may generate a driving route so that the moving target 401 visits the first node, the third node, and the second node in order.
- the generated driving route may be reset.
- the driving route generating server 2000 may regenerate the driving route according to the above-described method in consideration of both the previously acquired nodes and the newly acquired nodes.
- FIG. 5 is an exemplary diagram for explaining a method of generating a driving route in consideration of a departure point and a destination by using an allocation value according to an embodiment.
- a method for generating a travel route comprising: obtaining location information for a first group of nodes and a second group of nodes, wherein the first group of nodes and the second group of nodes are paired form -; setting the allocation value of the nodes of the first group as a reference value and setting the allocation value of the nodes of the second group as 'reference value + 1'; Based on the current location of the moving target, any one node is selected as the first node from among the nodes whose allocation value is a 'reference value', and the allocation values of the remaining nodes of the first group except for the first node are set to 'reference value + updating to 1' and updating the allocation values of the remaining nodes of the second group except for the node forming a pair with the first node to 'reference value + 2'; selecting any one node as a third node from among nodes having an allocation value of 'reference value + 1' based on the location of the first node; When the node of the first group is
- the driving route generating server 2000 may acquire location information on a plurality of nodes displayed on the map 500 .
- the plurality of nodes may be included in any one of the first group and the second group.
- the first group may include a node corresponding to a departure point
- the second group may include a node corresponding to a destination, but the types of nodes included in each group are not limited thereto.
- nodes O1 to O3 corresponding to a source may be included in a first group, and nodes D1 to D3 corresponding to a destination may be included in a second group.
- the nodes of the first group and the nodes of the second group may form a pair.
- the O1 node and the D1 node, the O2 node and the D2 node, and the O3 node and the D3 node may form a pair.
- the driving route generation server 2000 may set the allocation values of the nodes included in the first group as reference values and set the allocation values of the nodes included in the second group to 'reference value + 1'. Referring to FIG. 5B , the driving route generating server 2000 may set the allocation values of the O1 nodes to the O3 nodes to 1 (reference value) and set the allocation values of the D1 nodes to the D3 nodes to 2.
- the driving route generating server 2000 may select any one node from among the nodes having the 'reference value' as the first node based on the current location of the moving target 501 . Referring to FIG. 5B , the driving route generating server 2000 may select, as the first node, an O1 node close to the current location of the moving target 501 from among O1 to O3 nodes having an assigned value of 1.
- the driving route generating server 2000 updates the allocation values of the remaining nodes of the first group except for the first node to 'reference value + 1', and the remaining nodes of the second group except for the nodes forming a pair with the first node. It is possible to update their assigned values to 'reference value + 2'.
- the driving route generating server 2000 updates the allocation values of the O2 node and the O3 node to 2, and the allocation values of the D2 node and the D3 node, which are the remaining nodes of the second group except for the D1 node. can be updated to 3.
- the allocation value of the D1 node may be maintained at 2.
- the driving route generating server 2000 may select any one node from among the nodes having an assigned value of 'reference value + 1' as the third node based on the location of the first node. Referring to FIG. 5C , the driving route generating server 2000 may select any one node among the O2 node, the O3 node, and the D1 node having an allocation value of 2 as the third node.
- the driving route generation server 2000 selects any one of the nodes whose allocation value is 'reference value + 1' based on the location of the third node.
- a node may be selected as the second node.
- the driving route generation server 2000 may select any one of the O2 node and the O3 node having an allocation value of 2 as the second node. .
- the allocation values of the remaining nodes of the first group except for the first node and the third node are updated to 'reference value + 2'
- the first node or Allocation values of the nodes of the second group forming a pair with the third node may be updated to 'reference value + 2'
- allocation values of the remaining nodes of the second group may be updated to 'reference value + 3'.
- any one node among the nodes having an allocation value of 'reference value + 2' may be selected as the second node.
- the driving route generation server 2000 updates the allocation value of the O3 node of the first group excluding the O1 node and the O2 node to 3, and forms a pair with the O1 node.
- the allocation value of the node D2 forming a pair with the node D1 and the node O2 may be updated to 3, and the allocation value of the node D3, which is the remaining node of the second group, may be updated to 4.
- the driving route generating server 2000 may select any one node among the O3 node, the D1 node, and the D2 node having an allocation value of 3 as the second node.
- the driving route generating server 2000 may generate a driving route so that the moving target 501 visits the first node, the third node, and the second node in order.
- FIG. 6 is an exemplary diagram for explaining a method of generating a driving route in consideration of a departure point and a destination using clustering according to an embodiment.
- the driving route generating server 2000 may obtain location information on a plurality of nodes displayed on the map 600 .
- a plurality of nodes forming a pair may be included in any one cluster.
- Nodes O1 to O3 corresponding to the origin may be included in the first group, and nodes D1 to D3 corresponding to the destination may be included in the second group.
- the first group of nodes and the second group of nodes may form a pair.
- the driving route generating server 2000 may generate the first cluster 610 by clustering the nodes of the first group and the nodes of the second group.
- nodes O4 to O6 corresponding to the source may be included in the third group
- nodes D4 to D6 corresponding to the destination may be included in the fourth group.
- the third group of nodes and the fourth group of nodes may form a pair.
- the driving route generating server 2000 may generate the second cluster 620 by clustering the nodes of the third group and the nodes of the fourth group.
- the driving route generating server 2000 may generate the first driving route so that the moving target 601 sequentially visits nodes included in the first cluster 610 . Also, the driving route generating server 2000 may generate a second driving route so that the moving target 601 sequentially visits nodes included in the second cluster 620 .
- a method of generating the first driving path and the second driving path in the driving path generating server 2000 refer to the details described above with reference to FIGS. 4 to 5 .
- the driving path generating server 2000 may generate a final driving path by connecting the first driving path and the second driving path.
- the driving route generating server 2000 is a moving distance between the last visited node of the moving target 601 in the first cluster 610 and the first visited node of the moving target 601 in the second cluster 620 . Based on the , the first driving path and the second driving path may be generated.
- a travel route with the shortest time or the shortest distance from the viewpoint of the first travel route may be generated.
- the movement distance for moving from the first cluster 610 to the second cluster 620 increases, so the shortest time or shortest time from the viewpoint of the final travel route.
- the driving route of the street may not be created.
- a travel route with the shortest time or the shortest distance from the viewpoint of the second travel route may be generated.
- the movement distance for moving from the first cluster 610 to the second cluster 620 increases, so the shortest time or shortest time from the viewpoint of the final travel route.
- the driving route of the street may not be created.
- an optimal driving path can be generated by determining the driving path of each cluster in consideration of the moving distance between the clusters.
- FIG. 7 is a flowchart of a method of generating a driving route according to an exemplary embodiment.
- the method for generating a driving route shown in FIG. 7 is related to the embodiments described in the drawings described above, and therefore, even if omitted below, the contents described in the drawings are also applied to the method of FIG. 7 . can be applied.
- the processor may obtain location information on nodes of a first group and nodes of a second group.
- the first group may include a node corresponding to a departure point
- the second group may include a node corresponding to a destination, but the types of nodes included in each group are not limited thereto.
- the location information may include information on latitude and longitude of each node, but is not limited thereto.
- the processor may acquire traffic conditions, road grades, and the like for regions in which the nodes of the first group and the nodes of the second group are located. The above information obtained from the processor may be later used to select one of several selectable nodes through the TSP algorithm.
- the processor may select any one of the nodes of the first group as the first node based on the current location of the moving target.
- step 730 the processor selects any one node from among the remaining nodes of the first group except for the first node and the nodes of the second group forming a pair with the first node as the third node based on the location of the first node. You can choose.
- the processor may determine whether the node of the first group is selected as the second node.
- operation 750 may be performed.
- step 750 the processor determines, based on the location of the third node, the remaining nodes of the first group except for the first node and the third node, and the nodes of the second group forming a pair with the first node or the third node. Any one of the nodes may be selected as the second node.
- operation 760 may be performed.
- the processor may select any one node from among the remaining nodes of the first group excluding the first node as the second node based on the location of the third node.
- the processor may generate a driving route such that the moving target visits the first node, the third node, and the second node in order.
- FIG. 8 is a flowchart of a method of generating a driving route according to an exemplary embodiment.
- the processor may obtain location information on nodes of a first group and nodes of a second group.
- step 820 based on the location of the currently selected node, the processor selects any one of the nodes of the second group forming a pair with the node previously selected from among the nodes of the first group, and the nodes of the first group that are not selected. A node can be selected as the next visited node.
- the first group includes nodes O1 to O3
- the second group includes nodes D1 to D3
- the O1 node and the D1 node, the O2 node and the D2 node, and the O3 node and the D3 node form a pair.
- the nodes of the first group are source nodes and the nodes of the second group are destination nodes
- the nodes of the second group are designed to be selected only after the nodes of the first group forming a pair with them are selected.
- the present invention is designed so that a node once selected cannot be reselected.
- the O1 node is a preselected node
- the O2 node is the currently selected node
- other nodes are not selected.
- the processor may select any one node as the next visited node from among the D1 node forming a pair with the O1 node, the D2 node forming a pair with the O2 node, and the O3 node of the first group that has not yet been selected.
- node D1 is a currently selected node and other nodes are not selected.
- the O1 node forming a pair with the D1 node is already selected.
- the processor may select any one node from among the O2 nodes and the O3 nodes of the first group that have not yet been selected as the next visited node.
- the TSP algorithm may be used as a method of selecting any one node from among several selectable nodes.
- the processor may generate a driving route so that the moving target visits the node according to the selection order of the node.
- the processor may generate the travel route so that the moving target visits the O1 node, the D1 node, and the O2 node in the order.
- FIG. 9 is a block diagram of a driving route generating server according to an exemplary embodiment.
- the driving route generating server 900 may include a communication unit 910 , a processor 920 , and a DB 930 . Only the components related to the embodiment are shown in the application operation server 1000 of FIG. 9 . Accordingly, it can be understood by those skilled in the art that other general-purpose components may be further included in addition to the components shown in FIG. 9 .
- the communication unit 910 may include one or more components for performing wired/wireless communication with user terminals and payment reference data providing servers.
- the communication unit 910 may include at least one of a short-distance communication unit (not shown), a mobile communication unit (not shown), and a broadcast receiving unit (not shown).
- the DB 930 is hardware for storing various data processed in the driving route generating server 1000 , and may store a program for processing and controlling the processor 920 .
- the DB 930 may store payment information, user information, and the like.
- DB 930 is a random access memory (RAM), such as dynamic random access memory (DRAM), static random access memory (SRAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), CD- It may include ROM, Blu-ray or other optical disk storage, a hard disk drive (HDD), a solid state drive (SSD), or flash memory.
- RAM random access memory
- DRAM dynamic random access memory
- SRAM static random access memory
- ROM read-only memory
- EEPROM electrically erasable programmable read-only memory
- CD- It may include ROM, Blu-ray or other optical disk storage, a hard disk drive (HDD), a solid state drive (SSD), or flash memory.
- the processor 920 controls the overall operation of the driving route generating server 1000 .
- the processor 920 may generally control the input unit (not shown), the display (not shown), the communication unit 910 , the DB 930 , and the like by executing programs stored in the DB 930 .
- the processor 920 may control the operation of the driving route generating server 1000 by executing programs stored in the DB 930 .
- the processor 920 may control at least some of the operations of the applications described above with reference to FIGS. 1 to 8 .
- the processor 920 includes application specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSPDs), programmable logic devices (PLDs), field programmable gate arrays (FPGAs), controllers, and microcontrollers. It may be implemented using at least one of (micro-controllers), microprocessors, and other electrical units for performing functions.
- ASICs application specific integrated circuits
- DSPs digital signal processors
- DSPDs digital signal processing devices
- PLDs programmable logic devices
- FPGAs field programmable gate arrays
- controllers and microcontrollers. It may be implemented using at least one of (micro-controllers), microprocessors, and other electrical units for performing functions.
- Embodiments according to the present invention may be implemented in the form of a computer program that can be executed through various components on a computer, and such a computer program may be recorded in a computer-readable medium.
- the medium includes a hard disk, a magnetic medium such as a floppy disk and a magnetic tape, an optical recording medium such as CD-ROM and DVD, a magneto-optical medium such as a floppy disk, and a ROM. , RAM, flash memory, and the like, and hardware devices specially configured to store and execute program instructions.
- the computer program may be specially designed and configured for the present invention, or may be known and used by those skilled in the computer software field.
- Examples of the computer program may include not only machine code generated by a compiler, but also high-level language code that can be executed by a computer using an interpreter or the like.
- Some embodiments of the present disclosure may be represented by functional block configurations and various processing steps. Some or all of these functional blocks may be implemented in various numbers of hardware and/or software configurations that perform specific functions.
- the functional blocks of the present disclosure may be implemented by one or more microprocessors, or by circuit configurations for a given function.
- the functional blocks of the present disclosure may be implemented in various programming or scripting languages.
- the functional blocks may be implemented as an algorithm running on one or more processors.
- the present disclosure may employ prior art techniques for electronic configuration, signal processing, and/or data processing, etc. Terms such as “mechanism”, “element”, “means” and “configuration” will be used broadly. and are not limited to mechanical and physical configurations.
- connecting lines or connecting members between the components shown in the drawings only exemplify functional connections and/or physical or circuit connections.
- a connection between components may be represented by various functional connections, physical connections, or circuit connections that are replaceable or added.
- the driving routes described below are: Bicycle Sharing, Car Sharing, Mobility-on-Demand, Demand Responsive Transport, Mobility Service, Mobility Management, Integrated Passenger Transport ( It can be applied to various scenarios such as Intermodal Passenger Transport) and delivery.
- a TSP algorithm may be used as a method of selecting any one node from among several selectable nodes below.
- a Dijkstra algorithm an A* algorithm, or a bidirectional algorithm may be used, but is not limited thereto.
- FIG. 1 is a system diagram including a user terminal and a driving route generating apparatus according to an exemplary embodiment.
- a system may include the user terminal 1000 and the driving route generating apparatus 2000 .
- the user terminal 1000 is a smart phone, a tablet PC, a PC, a smart TV, a mobile phone, a personal digital assistant (PDA), a laptop, a media player, a micro server, a global positioning system (GPS) device, an e-book terminal, and a digital broadcasting terminal. , navigation, kiosks, MP3 players, digital cameras, consumer electronics, camera-equipped devices, and other mobile or non-mobile computing devices.
- the user terminal 1000 may be a wearable device such as a watch, glasses, a hair band, and a ring having a communication function and a data processing function. However, it is not limited thereto.
- the user terminal 1000 may include a driver terminal and a passenger terminal.
- the driving route generating apparatus 2000 may be implemented as a computer device or a plurality of computer devices that communicates through a network and provides commands, codes, files, contents, services, and the like.
- the driving route generating apparatus 2000 may generate a driving route by determining a node visit order of a moving target (eg, a bicycle, a kickboard, a car, a person, etc.) based on location information on a plurality of nodes.
- the driving route generating apparatus 2000 may determine the node visit order based on whether each node corresponds to either a source node or a destination node.
- the user terminal 1000 and the driving route generating apparatus 2000 may perform communication using the network 3000 .
- an application is installed in the user terminal 1000
- the driving route generating apparatus 2000 may be a server that manages the application.
- the driving route generating apparatus 2000 may exchange data with the user terminal 1000 through an application installed in the user terminal 1000 .
- the network 3000 is a local area network (LAN), a wide area network (WAN), a value added network (VAN), a mobile communication network (mobile radio communication network), a satellite communication network, and their mutual It is a data communication network in a comprehensive sense that includes a combination and enables each of the network constituent entities shown in FIG. 1 to communicate smoothly with each other, and may include a wired Internet, a wireless Internet, and a mobile wireless communication network.
- wireless communication is, for example, wireless LAN (Wi-Fi), Bluetooth, Bluetooth low energy, Zigbee, WFD (Wi-Fi Direct), UWB (ultra wideband), infrared communication (IrDA, infrared Data Association), NFC (Near Field Communication), etc. may be there, but is not limited thereto.
- the driving route generating device 2000 is illustrated as performing communication with one user terminal 1000 using a network, but this is only an example, and the driving route generating device 2000 includes two or more user terminals. Communication may be performed using the network with 1000 .
- FIGS. 2A to 2B are diagrams for explaining an example of providing a driving route from a driving route providing server to a user terminal according to an exemplary embodiment.
- first user terminal 1001 and the second user terminal 1002 in FIGS. 2A to 2B are the same as the user terminal 1000 of FIG. 1 , a detailed description thereof will be omitted.
- the first user terminal 1001 may receive an input for inputting a departure point and a destination from the first user.
- the first user may input node B as a starting point and node C as a destination through the input interface of the first user terminal 1001 .
- the first user terminal 1000 may transmit first itinerary information including a departure point and a destination to the driving route generating apparatus 2000 .
- the itinerary information may include, but is not limited to, the input time at which the 1 user inputs the origin and destination, the name of the origin, the latitude and longitude of the origin, the name of the destination, and the latitude and longitude of the destination.
- the driving route generating apparatus 2000 may generate a driving route based on the first journey information received from the first user terminal 1000 .
- the driving route may indicate a route on which the moving target will travel on a map.
- the driving route generating apparatus 2000 may include a driving route from node A corresponding to the initial node to node B, which is the starting point of the first user, and a driving route from node B to node C, which is the destination of the first user. You can create a route.
- the initial node may be a node corresponding to the location of the moving target at the point in time when an input for inputting a departure point and a destination is received from the first user terminal 1000 .
- the initial node may be a node corresponding to the location of the moving target when the driving route generating apparatus 2000 receives the first journey information from the first user terminal 1000 .
- the driving path moving 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 path between each node is along a movable path on the actual map. can be created
- the driving route generating apparatus 2000 may calculate an expected departure time and an expected arrival time based on the generated driving route.
- the driving route generating apparatus 2000 uses the length of the generated driving route, traffic conditions (eg, traffic jam), selection options (eg, shortest distance, shortest time, etc.), to estimate departure and arrival times, etc. time can be calculated.
- the expected departure time may mean a time for the moving object to arrive at the B node after departing from the A node
- the expected arrival time may mean a time for the moving target to arrive at the C node after leaving the B node.
- the second user terminal 1002 may receive an input for inputting a departure point and a destination from the second user.
- the second user may input node C as a source and node D as a destination through the input interface of the second user terminal 1002 .
- the second user terminal 1002 may transmit second itinerary information including the departure point and the destination to the driving route generating apparatus 2000 .
- the driving route generating apparatus 2000 generates a driving route based on the first journey information received from the first user terminal 1001 , and then receives the second journey information from the second user terminal 1002 . presupposes that
- the driving route generating apparatus 2000 may update the driving route based on the second journey information received from the second user terminal 1002 .
- a driving path moving from node B to node C, which is the origin of the second user, and from node C to the second user By additionally creating a driving route that moves to node D, which is the destination of , the driving route can be updated.
- the driving path moving from the C node to the D node and from the D node to the E node is shown as a straight line, but this is for convenience of explanation, and the driving path between each node is generated along a movable path on the actual map.
- the driving route generating apparatus 2000 may calculate an expected departure time and an expected arrival time based on the generated driving route.
- the expected departure time may mean a time at which the moving object arrives at the C node after departing from the B node
- the expected arrival time may mean the time at which the moving target arrives at the D node after departing from the C node.
- the driving route is generated so that the moving target moves in the order of node A, node B, node C, node D, and node E, but this is only an example and is not limited thereto.
- the driving route generating apparatus 2000 determines a movement order between nodes using Nearest Insertion (NI), Cheapest Insertion (CI), Farthest Insertion (FI), and Random Insertion (RI), Evolutionary Algorithm, etc. By doing so, a driving route can be created.
- NI Nearest Insertion
- CI Cheapest Insertion
- FI Farthest Insertion
- RI Random Insertion
- the driving route generating apparatus 2000 receives the location information on the initial node A node, the location information on the starting node B node and the destination C node from the first user terminal 1001, and the second user terminal ( 1002), after receiving the location information on the starting node D and the destination E node, driving routes for nodes A to E may be generated.
- the driving path generating apparatus 2000 may generate driving paths for nodes A to E in consideration of the origin-destination relationship.
- FIG. 3 is an exemplary diagram for explaining a traveling salesperson problem according to an embodiment.
- TSP traveling salesman problem
- the driving route generating apparatus 2000 may obtain location information on a plurality of nodes displayed on the map 300 . Referring to FIG. 3 , the driving route generating apparatus 2000 may obtain location information on nodes A1 to A6 displayed on the map 300 . The location information may include information on latitude and longitude of each node, but is not limited thereto.
- the driving route generating apparatus 2000 may generate a driving route so that the moving target 301 visits all nodes A1 to A6.
- the driving route generating apparatus 2000 may generate a shortest driving route or a shortest driving route in which the moving target 301 visits all nodes A1 to A6 based on the TSP algorithm.
- the driving route generating apparatus 2000 may consider a traffic situation, a road grade, and the like to generate a driving route. For example, the driving route generating apparatus 2000 generates all nodes A1 to A6 in consideration of situations in which it is difficult for a moving target to move due to a severe traffic jam or a low road grade on a path moving from a specific node to another node. It is possible to create a driving route with the shortest time to visit or a driving route with the shortest distance.
- the grade of the road may be classified according to a predetermined standard. Network connectivity must be calibrated between roads of the same class.
- the grade of the road may be divided into grades 1 to 9 according to a predetermined criterion.
- the predetermined criterion may include, but is not limited to, a type of road, a road traffic amount, a road width, a road length, and the like. Grade 1 may correspond to the highest grade, and grade 9 may correspond to the lowest grade.
- FIG. 4 is an exemplary diagram for explaining a method of generating a driving route in consideration of a departure point and a destination according to an embodiment.
- Mobility services include Bicycle Sharing, Car Sharing, Mobility-on-Demand, Demand Responsive Transport, Mobility Service, Mobility Management, Intermodal Passenger Transport) can be applied to various scenarios.
- the origin and destination may form a pair.
- the departure point of passenger A is the node O1
- the destination is the node D1
- the departure point of passenger B is the node O2
- the destination is the node D2
- the next node that can be moved is either the D1 node or the O2 node.
- the moving target cannot move directly from node O1 to node D2, which is the destination of passenger B. That is, the passenger B getting on the moving object should have priority over the passenger B getting off the moving object.
- the driving route generating apparatus 2000 may obtain location information on a plurality of nodes displayed on the map 400 .
- the plurality of nodes may be included in any one of the first group and the second group.
- the first group may include a node corresponding to a departure point
- the second group may include a node corresponding to a destination, but the types of nodes included in each group are not limited thereto.
- nodes O1 to O3 corresponding to a source may be included in a first group, and nodes D1 to D3 corresponding to a destination may be included in a second group.
- the nodes of the first group and the nodes of the second group may form a pair.
- the O1 node and the D1 node, the O2 node and the D2 node, and the O3 node and the D3 node may form a pair.
- the driving route generating apparatus 2000 may select any one node among the nodes of the first group as the first node based on the current location of the moving target 401 . Referring to FIG. 4B , from among nodes O1 to O3 included in the first group, the driving route generating apparatus 2000 selects, as the first node, the O1 node closest to the current location of the moving target 401 . can
- the moving target may start from the origin and move to a destination paired with the origin.
- the driving path generating apparatus 2000 may select the node D1 forming a pair with the node O1 as the second node.
- the driving route generating apparatus 2000 may generate a driving route so that the moving target 401 visits the first node and the second node in order.
- the moving target may visit another starting point before moving from the starting point to a destination paired with the starting point.
- the driving path generating apparatus 2000 may select any one node from among the remaining nodes of the first group excluding the first node as the third node based on the location of the first node. For example, the driving route generating apparatus 2000 may select, as the third node, an O2 node located close to the O1 node, which is the first node, from among the O2 nodes or O3 nodes that are the remaining nodes of the first group.
- the driving path generating apparatus 2000 may select any one node forming a pair with the first node or the third node from among the nodes of the second group as the second node based on the location of the third node. For example, the driving path generating apparatus 2000 may be close to the third node O2 node among the D1 nodes forming a pair with the O1 node as the first node or the D2 nodes forming the pair with the O2 node as the third node. The located D1 node may be selected as the second node.
- the driving route generating apparatus 2000 may generate a driving route so that the moving target 401 visits the first node, the third node, and the second node in order.
- the moving target may depart from the origin and visit any one of another origin or destination paired with the origin.
- the driving path generating apparatus 2000 sets the remaining nodes of the first group except for the first node based on the location of the first node, and a pair with the first node. Any one node among the nodes of the second group forming the ? may be selected as the third node.
- the driving route generating apparatus 2000 may include, based on the location of the third node, the remaining nodes of the first group except for the first node and the third node, and the second node. Any one of the nodes of the second group forming a pair with the first node or the third node may be selected as the second node.
- the driving route generating apparatus 2000 may include the O3 node that is the remaining nodes of the first group, the D1 node forming a pair with the O1 node, or O2 Among the D2 nodes forming a pair with the node, a D1 node located close to the O2 node may be selected as the second node.
- the driving path generating apparatus 2000 selects an O2 node located close to the D1 node from among the O2 nodes and O3 nodes that are the remaining nodes of the first group. It can be selected as a node.
- the driving route generating apparatus 2000 may generate a driving route so that the moving target 401 visits the first node, the third node, and the second node in order.
- the generated driving path may be reset.
- the driving path generating apparatus 2000 may regenerate the driving path according to the above-described method in consideration of both the previously acquired nodes and the newly acquired nodes.
- FIG. 5 is an exemplary diagram for explaining a method of generating a driving route in consideration of a departure point and a destination by using an allocation value according to an embodiment.
- a method for generating a travel route comprising: obtaining location information for a first group of nodes and a second group of nodes, wherein the first group of nodes and the second group of nodes are paired form -; setting the allocation value of the nodes of the first group as a reference value and setting the allocation value of the nodes of the second group as 'reference value + 1'; Based on the current location of the moving target, any one node is selected as the first node from among the nodes whose allocation value is a 'reference value', and the allocation values of the remaining nodes of the first group except for the first node are set to 'reference value + updating to 1' and updating the allocation values of the remaining nodes of the second group except for the node forming a pair with the first node to 'reference value + 2'; selecting any one node as a third node from among nodes having an allocation value of 'reference value + 1' based on the location of the first node; When the node of the first group is
- the driving route generating apparatus 2000 may obtain location information on a plurality of nodes displayed on the map 500 .
- the plurality of nodes may be included in any one of the first group and the second group.
- the first group may include a node corresponding to a departure point
- the second group may include a node corresponding to a destination, but the types of nodes included in each group are not limited thereto.
- nodes O1 to O3 corresponding to a source may be included in a first group, and nodes D1 to D3 corresponding to a destination may be included in a second group.
- the nodes of the first group and the nodes of the second group may form a pair.
- the O1 node and the D1 node, the O2 node and the D2 node, and the O3 node and the D3 node may form a pair.
- the driving route generating apparatus 2000 may set allocation values of nodes included in the first group as reference values, and may set allocation values of nodes included in the second group as 'reference value + 1'. Referring to FIG. 5B , the driving route generating apparatus 2000 may set allocation values of nodes O1 to O3 to 1 (reference value) and may set allocation values of nodes D1 to D3 to 2 .
- the driving route generating apparatus 2000 may select any one node from among the nodes having the 'reference value' as the first node based on the current location of the moving target 501 . Referring to FIG. 5B , the driving route generating apparatus 2000 may select, as a first node, an O1 node close to the current location of the moving target 501 among nodes O1 to O3 having an assigned value of 1.
- the driving route generating apparatus 2000 updates the allocation values of the remaining nodes of the first group except for the first node to 'reference value + 1', and the remaining nodes of the second group except for the nodes forming a pair with the first node. It is possible to update their assigned values to 'reference value + 2'.
- the driving route generating apparatus 2000 updates the allocation values of the O2 node and the O3 node to 2, and the allocation values of the D2 nodes and the D3 nodes, which are the remaining nodes of the second group except for the D1 node. can be updated to 3.
- the allocation value of the D1 node may be maintained at 2.
- the driving route generating apparatus 2000 may select any one node from among nodes having an assigned value of 'reference value + 1' as the third node based on the location of the first node. Referring to FIG. 5C , the driving route generating apparatus 2000 may select any one node among the O2 node, the O3 node, and the D1 node having an allocation value of 2 as the third node.
- the driving route generating apparatus 2000 selects any one of the nodes whose allocation value is 'reference value + 1' based on the location of the third node.
- a node may be selected as the second node.
- the driving route generating apparatus 2000 may select any one of the O2 node and the O3 node having an allocation value of 2 as the second node. .
- the allocation values of the remaining nodes of the first group except for the first node and the third node are updated to 'reference value + 2'
- the first node or Allocation values of the nodes of the second group forming a pair with the third node may be updated to 'reference value + 2'
- allocation values of the remaining nodes of the second group may be updated to 'reference value + 3'.
- any one node among the nodes having an allocation value of 'reference value + 2' may be selected as the second node.
- the driving route generating apparatus 2000 updates the allocation value of the O3 node of the first group excluding the O1 node and the O2 node to 3, and forms a pair with the O1 node
- the allocation value of the node D2 forming a pair with the node D1 and the node O2 may be updated to 3
- the allocation value of the node D3, which is the remaining node of the second group, may be updated to 4.
- the driving path generating apparatus 2000 may select any one node among the O3 node, the D1 node, and the D2 node having an allocation value of 3 as the second node.
- the driving route generating apparatus 2000 may generate a driving route so that the moving target 501 visits the first node, the third node, and the second node in order.
- FIG. 6 is an exemplary diagram for explaining a method of generating a driving route using clustering according to an embodiment.
- the driving route generating apparatus 2000 may obtain location information on a plurality of nodes displayed on the map 600 .
- the source nodes O1, O2, O3, O4, O5, and O6 may be included in the first group, and the destination nodes D1, D2, D3, D4, D5, and D6 may be included in the second group.
- a pair may be formed between the source node and the destination node. That is, each node of the first group may form a pair with each node of the second group.
- an O1 node and a D1 node, an O2 node and a D2 node, an O3 node and a D3 node, an O4 node and a D4 node, an O5 node and a D5 node, and an O6 node and a D6 node may form a pair.
- the driving path generating apparatus 2000 may generate at least one cluster for a pair using a clustering algorithm such as k-means++.
- the driving route generating apparatus 2000 may select a middle point between a starting point and a destination for each pair, and use the middle point as a data point when calculating a centroid or center of each cluster.
- the driving route generating apparatus 2000 may generate a driving route for visiting all nodes of at least one cluster. First, the driving route generating apparatus 2000 may determine the order of the clusters to be visited based on the proximity of the moving target 601 to the center of each cluster. That is, a cluster close to the vehicle 601 is visited before other clusters far from the moving object 601 . For example, in FIG. 6 , since the distance between the moving object 601 and the first center C1 is shorter than the distance between the moving object 601 and the second center C2, the driving route generating apparatus 2000 is It may be determined that the moving target 601 first visits the first cluster 610 and then visits the second cluster 620 . Estimated time of arrival (ETA) may be used instead of distance when determining the order of visits.
- ETA Estimated time of arrival
- the driving route generating apparatus 2000 may determine an entry node and an exit node of each cluster. Except for the entry node of the first cluster and the exit node of the last cluster, the entry and exit nodes of successive clusters can be determined based on the proximity between the destination node of one cluster and the starting node of another cluster according to the sequence. have.
- the entry node of the first cluster may be determined by selecting the departure node of the first cluster closest to the current location of the vehicle. For example, referring to FIG. 6 , when the first cluster 610 is the first cluster, O1 among the departure nodes O1 , O2 , and O3 of the first cluster 610 enters the first cluster 610 . It can be selected as a node.
- the exit node of the last cluster may be determined by selecting a destination node of the last cluster farthest from the current location of the vehicle. For example, when the second cluster 620 is the last cluster, D6 among the destination nodes D4 , D5 , and D6 may be selected as an exit node of the second cluster 620 .
- a destination node and a departure node having the shortest distance between the entry and exit nodes for each of the at least one cluster may be selected.
- the driving route generating apparatus 2000 measures distances between D1, D2, and D3 of the cluster 610 and O4, O5, and O6 of the cluster 620 , and D1, D2 of the first cluster 610 . , D3 and all possible combinations between O4, O5, O6 of the second cluster 620 , then D2 as the exit node of the first cluster 610 and O6 as the entry node of the second cluster 610 . You can choose.
- the order of nodes to be visited in each cluster can be determined using the method described with reference to FIGS. 4 to 5 .
- FIG. 7 is a flowchart of a method of generating a driving route according to an exemplary embodiment.
- the method for generating a driving route shown in FIG. 7 is related to the embodiments described in the drawings described above, and therefore, even if omitted below, the contents described in the drawings are also applied to the method of FIG. 7 . can be applied.
- the processor may obtain location information on nodes of a first group and nodes of a second group.
- the first group may include a node corresponding to a departure point
- the second group may include a node corresponding to a destination, but the types of nodes included in each group are not limited thereto.
- the location information may include information on latitude and longitude of each node, but is not limited thereto.
- the processor may acquire traffic conditions, road grades, and the like for regions in which the nodes of the first group and the nodes of the second group are located. The above information obtained from the processor may be later used to select one of several selectable nodes through the TSP algorithm.
- the processor may select any one of the nodes of the first group as the first node based on the current location of the moving target.
- step 730 the processor selects any one node from among the remaining nodes of the first group except for the first node and the nodes of the second group forming a pair with the first node as the third node based on the location of the first node. You can choose.
- the processor may determine whether the node of the first group is selected as the second node.
- operation 750 may be performed.
- step 750 the processor determines, based on the location of the third node, the remaining nodes of the first group except for the first node and the third node, and the nodes of the second group forming a pair with the first node or the third node. Any one of the nodes may be selected as the second node.
- operation 760 may be performed.
- the processor may select any one node from among the remaining nodes of the first group excluding the first node as the second node based on the location of the third node.
- the processor may generate a driving route such that the moving target visits the first node, the third node, and the second node in order.
- FIG. 8 is a flowchart of a method of generating a driving route according to an exemplary embodiment.
- the processor may obtain location information on nodes of a first group and nodes of a second group.
- step 820 based on the location of the currently selected node, the processor selects any one of the nodes of the second group forming a pair with the node previously selected from among the nodes of the first group, and the nodes of the first group that are not selected. A node can be selected as the next visited node.
- the first group includes nodes O1 to O3
- the second group includes nodes D1 to D3
- the O1 node and the D1 node, the O2 node and the D2 node, and the O3 node and the D3 node form a pair.
- the nodes of the first group are source nodes and the nodes of the second group are destination nodes
- the nodes of the second group are designed to be selected only after the nodes of the first group forming a pair with them are selected.
- the present invention is designed so that a node once selected cannot be reselected.
- the O1 node is a preselected node
- the O2 node is the currently selected node
- other nodes are not selected.
- the processor may select any one node as the next visited node from among the D1 node forming a pair with the O1 node, the D2 node forming a pair with the O2 node, and the O3 node of the first group that has not yet been selected.
- node D1 is a currently selected node and other nodes are not selected.
- the O1 node forming a pair with the D1 node is already selected.
- the processor may select any one node from among the O2 nodes and the O3 nodes of the first group that have not yet been selected as the next visited node.
- the TSP algorithm may be used as a method of selecting any one node from among several selectable nodes.
- the processor may generate a driving route so that the moving target visits the node according to the selection order of the node.
- the processor may generate the travel route so that the moving target visits the O1 node, the D1 node, and the O2 node in the order.
- FIG. 9 is a block diagram of an apparatus for generating a driving route according to an exemplary embodiment.
- the driving route generating apparatus 900 may include a communication unit 910 , a processor 920 , and a DB 930 . Only the components related to the embodiment are shown in the application operation server 1000 of FIG. 9 . Accordingly, it can be understood by those skilled in the art that other general-purpose components may be further included in addition to the components shown in FIG. 9 .
- the communication unit 910 may include one or more components for performing wired/wireless communication with user terminals and payment reference data providing servers.
- the communication unit 910 may include at least one of a short-distance communication unit (not shown), a mobile communication unit (not shown), and a broadcast receiving unit (not shown).
- the DB 930 is hardware for storing various data processed in the driving route generating apparatus 1000 , and may store a program for processing and controlling the processor 920 .
- the DB 930 may store payment information, user information, and the like.
- DB 930 is a random access memory (RAM), such as dynamic random access memory (DRAM), static random access memory (SRAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), CD- It may include ROM, Blu-ray or other optical disk storage, a hard disk drive (HDD), a solid state drive (SSD), or flash memory.
- RAM random access memory
- DRAM dynamic random access memory
- SRAM static random access memory
- ROM read-only memory
- EEPROM electrically erasable programmable read-only memory
- CD- It may include ROM, Blu-ray or other optical disk storage, a hard disk drive (HDD), a solid state drive (SSD), or flash memory.
- the processor 920 controls the overall operation of the driving route generating apparatus 1000 .
- the processor 920 may generally control the input unit (not shown), the display (not shown), the communication unit 910 , the DB 930 , and the like by executing programs stored in the DB 930 .
- the processor 920 may control the operation of the driving route generating apparatus 1000 by executing programs stored in the DB 930 .
- the processor 920 may control at least some of the operations of the applications described above with reference to FIGS. 1 to 8 .
- the processor 920 includes application specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSPDs), programmable logic devices (PLDs), field programmable gate arrays (FPGAs), controllers, and microcontrollers. It may be implemented using at least one of (micro-controllers), microprocessors, and other electrical units for performing functions.
- ASICs application specific integrated circuits
- DSPs digital signal processors
- DSPDs digital signal processing devices
- PLDs programmable logic devices
- FPGAs field programmable gate arrays
- controllers and microcontrollers. It may be implemented using at least one of (micro-controllers), microprocessors, and other electrical units for performing functions.
- Embodiments according to the present invention may be implemented in the form of a computer program that can be executed through various components on a computer, and such a computer program may be recorded in a computer-readable medium.
- the medium includes a hard disk, a magnetic medium such as a floppy disk and a magnetic tape, an optical recording medium such as CD-ROM and DVD, a magneto-optical medium such as a floppy disk, and a ROM. , RAM, flash memory, and the like, and hardware devices specially configured to store and execute program instructions.
- the computer program may be specially designed and configured for the present invention, or may be known and used by those skilled in the computer software field.
- Examples of the computer program may include not only machine code generated by a compiler, but also high-level language code that can be executed by a computer using an interpreter or the like.
- the method according to various embodiments of the present disclosure may be provided by being included in a computer program product.
- Computer program products may be traded between sellers and buyers as commodities.
- the computer program product is distributed in the form of a machine-readable storage medium (eg compact disc read only memory (CD-ROM)), or via an application store (eg Play StoreTM) or between two user devices. It can be distributed directly or online (eg, downloaded or uploaded). In the case of online distribution, at least a part of the computer program product may be temporarily stored or temporarily generated in a machine-readable storage medium such as a memory of a server of a manufacturer, a server of an application store, or a relay server.
- a machine-readable storage medium such as a memory of a server of a manufacturer, a server of an application store, or a relay server.
Landscapes
- Engineering & Computer Science (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Business, Economics & Management (AREA)
- Automation & Control Theory (AREA)
- Tourism & Hospitality (AREA)
- Economics (AREA)
- General Health & Medical Sciences (AREA)
- Human Resources & Organizations (AREA)
- Marketing (AREA)
- Primary Health Care (AREA)
- Strategic Management (AREA)
- Health & Medical Sciences (AREA)
- General Business, Economics & Management (AREA)
- Theoretical Computer Science (AREA)
- Navigation (AREA)
- Operations Research (AREA)
Abstract
본 발명은 주행 경로를 생성하기 위한 방법 및 장치에 관한 것이다. 본 발명의 일 실시 예에 따른 방법은, 제1 그룹의 노드들과 제2 그룹의 노드들에 대한 위치 정보를 획득하고, 이동 대상의 현재 위치에 기초하여 제1 그룹의 노드들 중 어느 하나의 노드를 제1 노드로 선택하고, 제2 그룹의 노드들 중에서 제1 노드와 페어를 형성하는 노드를 제2 노드로 선택하며, 이동 대상이 제1 노드 및 제2 노드 순으로 방문하도록 주행 경로를 생성할 수 있다.
Description
본 발명은 출발지-도착지 관계를 고려한 주행 경로를 생성하기 위한 방법 및 장치에 관한 것이다.
일반적으로 수요 대응형 교통(Demand Responsive Transport; DRT) 시스템은 소형 전철, 소형 자동운행궤도차량, 무인궤도택시 등으로 불리는 차세대 도시교통 시스템으로, 자동차의 편리함을 보유하면서 대기오염과 교통체증 등의 결함을 제거하기 위하여 개발되고 있는 새로운 교통 시스템이다.
수요 대응형 교통 시스템은 네트워크 형태의 노선에서 무인 자동 운전 차량을 운영하는 개념으로, 2~6인의 승객이 탑승 가능하며 승객의 요청에 의해 배차된 후 목적지가 결정되면, 네트워크 상의 여러 경로 중 최적의 경로를 선택하여 무정차로 운행을 하는 특징이 있다.
수요 대응형 교통 시스템에서 방문해야하는 지점(또는, 노드)의 순서를 결정하기 위해 순회 판매원 문제(traveling salesman problem; TSP) 알고리즘이 이용될 수 있다.
최근에는 페어를 형성하는 출발지-도착지의 관계를 고려하여 경로를 효율적으로 생성하는 방법에 대한 연구가 필요한 실정이다.
전술한 배경기술은 발명자가 본 발명의 도출을 위해 보유하고 있었거나, 본 발명의 도출 과정에서 습득한 기술 정보로서, 반드시 본 발명의 출원 전에 일반 공중에게 공개된 공지기술이라 할 수는 없다.
본 발명은 출발지-도착지 관계를 고려한 주행 경로를 생성하기 위한 방법 및 장치를 제공하는데 있다.
TSP 알고리즘은 다수의 노드를 방문함에 있어서 전체 노드를 최소의 시간(혹은 거리)로 방문하는 순서를 결정하는 함수이다. 예를 들어, TSP 알고리즘을 사용하면, 택배를 각 가정에 배달함에 있어서 모든 가정을 최소의 시간으로 방문하는 순서를 구할 수 있다. 그러나, 택배 예시와 같이 목적지만 있는 경우와는 달리, 개인이동서비스(Personal Mobility Service) 혹은 상차와 하차가 지속적으로 발생하는 물류와 같은 경우 출발과 도착이 지속적으로 발생하므로, 각각의 출발과 도착을 고려한 순서를 고려할 필요가 있다. 본 발명에서는 이를 해결할 수 있는 방법 및 장치를 제공할 수 있다.
본 발명이 해결하고자 하는 과제는 이상에서 언급한 과제에 한정되지 않으며, 언급되지 않은 본 발명의 다른 과제 및 장점들은 하기의 설명에 의해서 이해될 수 있고, 본 발명의 실시 예에 의해보다 분명하게 이해될 것이다. 또한, 본 발명이 해결하고자 하는 과제 및 장점들은 특허 청구 범위에 나타낸 수단 및 그 조합에 의해 실현될 수 있음을 알 수 있을 것이다.
상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본 개시의 제1 측면은, 주행 경로를 생성하기 위한 방법으로서, 제1 그룹의 노드들과 제2 그룹의 노드들에 대한 위치 정보를 획득하는 단계 - 상기 제1 그룹의 노드들과 상기 제2 그룹의 노드들은 페어(pair)를 형성 -; 이동 대상의 현재 위치에 기초하여 상기 제1 그룹의 노드들 중 어느 하나의 노드를 제1 노드로 선택하는 단계; 상기 제2 그룹의 노드들 중에서 상기 제1 노드와 페어를 형성하는 노드를 제2 노드로 선택하는 단계; 및 상기 이동 대상이 상기 제1 노드 및 상기 제2 노드 순으로 방문하도록 주행 경로를 생성하는 단계;를 포함하는, 방법을 제공할 수 있다.
본 개시의 제 2 측면은, 주행 경로를 생성하기 위한 방법으로서, 제1 그룹의 노드들과 제2 그룹의 노드들에 대한 위치 정보를 획득하는 단계 - 상기 제1 그룹의 노드들과 상기 제2 그룹의 노드들은 페어(pair)를 형성 -; 현재 선택된 노드의 위치에 기초하여, 상기 제1 그룹의 노드 중에서 기선택된 노드와 페어를 형성하는 상기 제2 그룹의 노드들, 그리고 선택되지 않은 상기 제1 그룹의 노드들 중에서, 어느 하나의 노드를 다음 방문 노드로 선택하는 단계; 및 상기 이동 대상이 노드의 선택 순서에 따라 노드를 방문하도록 주행 경로를 생성하는 단계;를 포함하는, 방법을 제공할 수 있다.
본 개시의 제 3 측면은, 주행 경로를 생성하기 위한 장치에 있어서, 적어도 하나의 프로그램이 저장된 메모리; 및 상기 적어도 하나의 프로그램을 실행함으로써 연산을 수행하는 프로세서를 포함하고, 상기 프로세서는, 제1 그룹의 노드들과 제2 그룹의 노드들에 대한 위치 정보를 획득하는 단계 - 상기 제1 그룹의 노드들과 상기 제2 그룹의 노드들은 페어(pair)를 형성 -; 이동 대상의 현재 위치에 기초하여 상기 제1 그룹의 노드들 중 어느 하나의 노드를 제1 노드로 선택하는 단계; 상기 제2 그룹의 노드들 중에서 상기 제1 노드와 페어를 형성하는 노드를 제2 노드로 선택하는 단계; 및 상기 이동 대상이 상기 제1 노드 및 상기 제2 노드 순으로 방문하도록 주행 경로를 생성하는 단계;를 수행하는 것인, 장치를 제공할 수 있다.
본 개시의 제 4 측면은, 제 1 측면 및 제 2 측면에 따른 방법을 컴퓨터에서 실행하기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공할 수 있다.
이 외에도, 본 발명을 구현하기 위한 다른 방법, 다른 시스템 및 상기 방법을 실행하기 위한 컴퓨터 프로그램이 저장된 컴퓨터로 판독 가능한 기록매체가 더 제공될 수 있다.
전술한 것 외의 다른 측면, 특징, 이점이 이하의 도면, 특허청구범위 및 발명의 상세한 설명으로부터 명확해질 것이다.
전술한 본 개시의 과제 해결 수단에 의하면, 출발지-도착지 관계를 고려함으로써 최적의 주행 경로를 생성할 수 있다.
도 1은 일 실시예에 따른 사용자 단말 및 주행 경로 생성 서버를 포함하는 시스템도이다.
도 2a 내지 도 2b는 일 실시예에 따른 주행 경로 제공 서버에서 사용자 단말로 주행 경로를 제공하는 예시를 설명하기 위한 도면이다.
도 3은 일 실시예에 따른 순회 판매원 문제를 설명하기 위한 예시적인 도면이다.
도 4는 일 실시예에 따른 출발지와 목적지를 고려한 주행 경로를 생성하는 방법을 설명하기 위한 예시적인 도면이다.
도 5는 일 실시예에 따른 할당값을 이용하여 출발지와 목적지를 고려한 주행 경로를 생성하는 방법을 설명하기 위한 예시적인 도면이다.
도 6은 일 실시예에 따른 클러스터링을 이용하여 출발지와 목적지를 고려한 주행 경로를 생성하는 방법을 설명하기 위한 예시적인 도면이다.
도 7은 일 실시예에 따른 주행 경로를 생성하는 방법의 흐름도이다.
도 8은 일 실시예에 따른 주행 경로를 생성하는 방법의 흐름도이다.
도 9는 일 실시예에 따른 주행 경로 생성 서버의 블록도이다.
본 발명은 주행 경로를 생성하기 위한 방법 및 장치에 관한 것이다. 본 발명의 일 실시 예에 따른 방법은, 제1 그룹의 노드들과 제2 그룹의 노드들에 대한 위치 정보를 획득하고, 이동 대상의 현재 위치에 기초하여 제1 그룹의 노드들 중 어느 하나의 노드를 제1 노드로 선택하고, 제2 그룹의 노드들 중에서 제1 노드와 페어를 형성하는 노드를 제2 노드로 선택하며, 이동 대상이 제1 노드 및 제2 노드 순으로 방문하도록 주행 경로를 생성할 수 있다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 설명되는 실시 예들을 참조하면 명확해질 것이다. 그러나 본 발명은 아래에서 제시되는 실시 예들로 한정되는 것이 아니라, 서로 다른 다양한 형태로 구현될 수 있고, 본 발명의 사상 및 기술 범위에 포함되는 모든 변환, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 아래에 제시되는 실시 예들은 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이다. 본 발명을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.
본 출원에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
본 개시의 일부 실시예는 기능적인 블록 구성들 및 다양한 처리 단계들로 나타내어질 수 있다. 이러한 기능 블록들의 일부 또는 전부는, 특정 기능들을 실행하는 다양한 개수의 하드웨어 및/또는 소프트웨어 구성들로 구현될 수 있다. 예를 들어, 본 개시의 기능 블록들은 하나 이상의 마이크로프로세서들에 의해 구현되거나, 소정의 기능을 위한 회로 구성들에 의해 구현될 수 있다. 또한, 예를 들어, 본 개시의 기능 블록들은 다양한 프로그래밍 또는 스크립팅 언어로 구현될 수 있다. 기능 블록들은 하나 이상의 프로세서들에서 실행되는 알고리즘으로 구현될 수 있다. 또한, 본 개시는 전자적인 환경 설정, 신호 처리, 및/또는 데이터 처리 등을 위하여 종래 기술을 채용할 수 있다."매커니즘", "요소", "수단" 및 "구성"등과 같은 용어는 넓게 사용될 수 있으며, 기계적이고 물리적인 구성들로서 한정되는 것은 아니다.
또한, 도면에 도시된 구성 요소들 간의 연결 선 또는 연결 부재들은 기능적인 연결 및/또는 물리적 또는 회로적 연결들을 예시적으로 나타낸 것일 뿐이다. 실제 장치에서는 대체 가능하거나 추가된 다양한 기능적인 연결, 물리적인 연결, 또는 회로 연결들에 의해 구성 요소들 간의 연결이 나타내어질 수 있다.
이하에서 설명되는 주행 경로는, 자전거-쉐어링(Bicycle Sharing), 카-쉐어링(Car Sharing), Mobility-on-Demand, 수요 대응형 교통(Demand Responsive Transport), Mobility Service, Mobility Management, 통합 여객 운송(Intermodal Passenger Transport), 배달 등 다양한 시나리오에 적용될 수 있다.
또한, 이하에서 여러 선택 가능한 노드들 중 어느 하나의 노드를 선택하는 방법으로는 TSP 알고리즘이 이용될 수 있다. TSP 알고리즘으로는 다익스트라(Dijkstra) 알고리즘, A* 알고리즘 또는 양방향 알고리즘 등이 사용될 수 있으나, 이에 제한되지 않는다.
이하 첨부된 도면을 참고하여 본 개시를 상세히 설명하기로 한다.
도 1은 일 실시예에 따른 사용자 단말 및 주행 경로 생성 서버를 포함하는 시스템도이다.
일 실시예에 따른 시스템은 사용자 단말(1000) 및 주행 경로 생성 서버(2000)를 포함할 수 있다.
사용자 단말(1000)은, 스마트폰, 태블릿 PC, PC, 스마트 TV, 휴대폰, PDA(personal digital assistant), 랩톱, 미디어 플레이어, 마이크로 서버, GPS(global positioning system) 장치, 전자책 단말기, 디지털방송용 단말기, 네비게이션, 키오스크, MP3 플레이어, 디지털 카메라, 가전기기, 카메라가 탑재된 디바이스 및 기타 모바일 또는 비모바일 컴퓨팅 장치일 수 있다. 또한, 사용자 단말(1000)은 통신 기능 및 데이터 프로세싱 기능을 구비한 시계, 안경, 헤어 밴드 및 반지 등의 웨어러블 디바이스일 수 있다. 그러나, 이에 제한되지 않는다.
주행 경로 생성 서버(2000)는 네트워크를 통해 통신하여 명령, 코드, 파일, 컨텐츠, 서비스 등을 제공하는 컴퓨터 장치 또는 복수의 컴퓨터 장치들로 구현될 수 있다.
주행 경로 생성 서버(2000)는 복수의 노드들에 대한 위치 정보에 기초하여 이동 대상(예를 들어, 자전거, 킥보드, 자동차, 사람 등)의 노드 방문 순서를 결정함으로써 주행 경로를 생성할 수 있다. 주행 경로 생성 서버(2000)는 각 노드가 출발지 노드 또는 도착지 노드 중 어느 노드에 해당하는지 여부에 기초하여 노드 방문 순서를 결정할 수 있다.
사용자 단말(1000) 및 주행 경로 생성 서버(2000)는 네트워크(3000)를 이용하여 통신을 수행할 수 있다. 일 실시예에서 사용자 단말(1000)에는 어플리케이션이 설치되고, 주행 경로 생성 서버(2000)는 어플리케이션을 관리하는 서버일 수 있다. 주행 경로 생성 서버(2000)는 사용자 단말(1000)에 설치된 어플리케이션을 통해, 사용자 단말(1000)과 데이터를 주고 받을 수 있다.
네트워크(3000)는 근거리 통신망(Local Area Network; LAN), 광역 통신망(Wide Area Network; WAN), 부가가치 통신망(Value Added Network; VAN), 이동 통신망(mobile radio communication network), 위성 통신망 및 이들의 상호 조합을 포함하며, 도 1에 도시된 각 네트워크 구성 주체가 서로 원활하게 통신을 할 수 있도록 하는 포괄적인 의미의 데이터 통신망이며, 유선 인터넷, 무선 인터넷 및 모바일 무선 통신망을 포함할 수 있다. 또한, 무선 통신은 예를 들어, 무선 랜(Wi-Fi), 블루투스, 블루투스 저 에너지(Bluetooth low energy), 지그비, WFD(Wi-Fi Direct), UWB(ultra wideband), 적외선 통신(IrDA, infrared Data Association), NFC(Near Field Communication) 등이 있을 수 있으나, 이에 한정되는 것은 아니다.
한편, 도 1에서는 주행 경로 생성 서버(2000)가 하나의 사용자 단말(1000)과 네트워크를 이용하여 통신을 수행하는 것으로 도시되었으나 이는 예시일 뿐, 주행 경로 생성 서버(2000)는 두 개 이상의 사용자 단말(1000)과 네트워크를 이용하여 통신을 수행할 수 있다.
도 2a 내지 도 2b는 일 실시예에 따른 주행 경로 제공 서버에서 사용자 단말로 주행 경로를 제공하는 예시를 설명하기 위한 도면이다.
도 2a 내지 도 2b에서 제1 사용자 단말(1001) 및 제2 사용자 단말(1002)은 도 1의 사용자 단말(1000)과 동일하므로 이에 대한 자세한 설명은 생략하기로 한다.
도 2a를 참조하면, 제1 사용자 단말(1001)은 제1 사용자로부터 출발지와 목적지를 입력하는 입력을 수신할 수 있다. 예를 들어, 제1 사용자는 제1 사용자 단말(1001)의 입력 인터페이스를 통해 출발지로 B 노드를 입력하고, 목적지로 C 노드를 입력할 수 있다.
제1 사용자 단말(1000)은 출발지 및 목적지를 포함하는 제1 여정 정보를 주행 경로 생성 서버(2000)로 전송할 수 있다. 여정 정보에는 1 사용자가 출발지와 목적지를 입력한 입력 시간, 출발지 명칭, 출발지의 위도 및 경도, 목적지 명칭, 목적지의 위도 및 경도 등이 포함될 수 있으나, 이에 제한되지 않는다.
주행 경로 생성 서버(2000)는 제1 사용자 단말(1000)로부터 수신한 제1 여정 정보에 기초하여 주행 경로를 생성할 수 있다. 주행 경로는 이동 대상이 주행하게 될 경로를 지도 상에 나타낸 것일 수 있다.
예를 들어, 주행 경로 생성 서버(2000)는 초기 노드에 해당하는 A 노드에서 제1 사용자의 출발지인 B 노드로 이동하는 주행 경로와, B 노드에서 제1 사용자의 목적지인 C 노드로 이동하는 주행 경로를 생성할 수 있다. 여기서. 초기 노드는 제1 사용자 단말(1000)에서 출발지와 목적지를 입력하는 입력을 수신한 시점의 이동 대상의 위치에 대응하는 노드일 수 있다. 또는, 초기 노드는 주행 경로 생성 서버(2000)에서 제1 사용자 단말(1000)로부터 제1 여정 정보를 수신한 시점의 이동 대상의 위치에 대응하는 노드일 수 있다.
도 2a에서는 A 노드에서 B 노드에서, 그리고 B 노드에서 C 노드로 이동하는 주행 경로가 직선으로 표시되었으나, 이는 설명의 편의를 위함이고, 각 노드들 간의 주행 경로는 실제 지도 상의 이동 가능한 길을 따라 생성될 수 있다.
주행 경로 생성 서버(2000)는 생성된 주행 경로에 기초하여 출발 예상 시간과 도착 예상 시간을 산출할 수 있다. 주행 경로 생성 서버(2000)는 생성된 주행 경로의 길이, 교통상황(예를 들어, 교통 체증), 선택 옵션(예를 들어, 최단 거리, 최단 시간 등) 등을 이용하여 출발 예상 시간과 도착 예상 시간을 산출할 수 있다. 출발 예상 시간은 이동 대상이 A 노드에서 출발한 후 B 노드에 도착하는 시간을 의미하고, 도착 예상 시간은 이동 대상이 B 노드에서 출발한 후 C 노드에 도착하는 시간을 의미할 수 있다.
도 2b를 참조하면, 제2 사용자 단말(1002)은 제2 사용자로부터 출발지와 목적지를 입력하는 입력을 수신할 수 있다. 예를 들어, 제2 사용자는 제2 사용자 단말(1002)의 입력 인터페이스를 통해 출발지로 C 노드를 입력하고, 목적지로 D 노드를 입력할 수 있다.
*제2 사용자 단말(1002)은 출발지 및 목적지를 포함하는 제2 여정 정보를 주행 경로 생성 서버(2000)로 전송할 수 있다. 이하에서, 주행 경로 생성 서버(2000)는 제1 사용자 단말(1001)로부터 수신한 제1 여정 정보에 기초하여 주행 경로를 생성한 후, 제2 사용자 단말(1002)로부터 제2 여정 정보를 수신한 것을 전제로 한다.
주행 경로 생성 서버(2000)는 제2 사용자 단말(1002)로부터 수신한 제2 여정 정보에 기초하여 주행 경로를 업데이트할 수 있다.
예를 들어, 주행 경로 생성 서버(2000)에서 제2 여정 정보를 수신한 후에 기존 주행 경로에 더하여, B 노드에서 제2 사용자의 출발지인 C 노드로 이동하는 주행 경로와, C 노드에서 제2 사용자의 목적지인 D 노드로 이동하는 주행 경로를 추가로 생성함으로써, 주행 경로를 업데이트할 수 있다.
도 2b에서는 C 노드에서 D 노드, 그리고 D 노드에서 E 노드로 이동하는 주행 경로가 직선으로 표시되었으나, 이는 설명의 편의를 위함이고, 각 노드들 간의 주행 경로는 실제 지도 상의 이동 가능한 길을 따라 생성될 수 있다.
주행 경로 생성 서버(2000)는 생성된 주행 경로에 기초하여 출발 예상 시간과 도착 예상 시간을 산출할 수 있다. 출발 예상 시간은 이동 대상이 B 노드에서 출발한 후 C 노드에 도착하는 시간을 의미하고, 도착 예상 시간은 이동 대상이 C 노드에서 출발한 후 D 노드에 도착하는 시간을 의미할 수 있다.
도 2b에서는 이동 대상이 A 노드, B 노드, C 노드, D 노드 및 E 노드 순으로 이동하도록 주행 경로가 생성되는 것으로 도시되었으나 이는 예시일 뿐이며, 이에 제한되지 않는다. 예를 들어, 주행 경로 생성 서버(2000)는 Nearest Insertion (NI), Cheapest Insertion (CI), Farthest Insertion (FI), and Random Insertion (RI), Evolutionary Algorithm 등을 이용하여 노드들 간의 이동 순서를 결정함으로써 주행 경로를 생성할 수 있다.
한편, 주행 경로 생성 서버(2000)는 초기 노드인 A 노드에 대한 위치 정보, 제1 사용자 단말(1001)로부터 출발지인 B 노드 및 목적지인 C 노드에 대한 위치 정보를 수신하고, 제2 사용자 단말(1002)로부터 출발지인 D 노드 및 목적지인 E 노드에 대한 위치 정보를 수신한 후, A 노드 내지 E 노드에 대한 주행 경로를 생성할 수 있다. 이 때, 주행 경로 생성 서버(2000)는 출발지-도착지 관계를 고려하여 A 노드 내지 E 노드에 대한 주행 경로를 생성할 수 있다.
도 3은 일 실시예에 따른 순회 판매원 문제를 설명하기 위한 예시적인 도면이다.
순회 판매원 문제(traveling salesman problem; TSP)는 조합 최적화 문제의 일종이다. TSP는 복수의 노드들을 가장 적은 비용으로 특정한 순서 없이 방문하는 방법을 찾는 문제이다.
주행 경로 생성 서버(2000)는 지도(300)에 표시되는 복수의 노드들에 대한 위치 정보를 획득할 수 있다. 도 3을 참조하면, 주행 경로 생성 서버(2000)는 지도(300)에 표시되는 A1 노드 내지 A6 노드에 대한 위치 정보를 획득할 수 있다. 위치 정보에는 각 노드의 위도, 경도에 대한 정보가 포함될 수 있으나, 이에 제한되지 않는다.
주행 경로 생성 서버(2000)는 이동 대상(301)이 A1 노드 내지 A6 노드를 모두 방문하도록 주행 경로를 생성할 수 있다. 주행 경로 생성 서버(2000)는 TSP 알고리즘을 기초로 이동 대상(301)이 A1 노드 내지 A6 노드를 모두 방문하는 최단시간의 주행 경로 또는 최단거리의 주행 경로를 생성할 수 있다.
주행 경로 생성 서버(2000)는 주행 경로를 생성하기 위해 교통상황, 도로 등급 등을 고려할 수 있다. 예를 들어, 주행 경로 생성 서버(2000)는 특정 노드에서 다른 노드로 이동하는 경로의 교통 체증이 심하거나, 도로 등급이 낮아 이동 대상이 이동하기 어려운 상황들을 고려하여, A1 노드 내지 A6 노드를 모두 방문하는 최단시간의 주행 경로 또는 최단거리의 주행 경로를 생성할 수 있다.
한편, 도로의 등급은 소정의 기준에 따라 구분될 수 있다. 동일 등급의 도로 간에는 네트워크 연결성이 보정되어야 한다. 일 실시예에서, 도로의 등급은 소정의 기준에 따라 1등급부터 9등급으로 구분될 수 있다. 소정의 기준은 도로의 종류, 도로 통행량, 도로 너비, 도로 길이 등을 포함할 수 있으나, 이에 제한되지 않는다. 1등급이 가장 높은 등급에 해당하고, 9등급은 가장 낮은 등급에 해당할 수 있다.
도 4는 일 실시예에 따른 출발지와 목적지를 고려한 주행 경로를 생성하는 방법을 설명하기 위한 예시적인 도면이다.
모빌리티(mobility) 서비스는 자전거-쉐어링(Bicycle Sharing), 카-쉐어링(Car Sharing), Mobility-on-Demand, 수요 대응형 교통(Demand Responsive Transport), Mobility Service, Mobility Management, 통합 여객 운송(Intermodal Passenger Transport) 등 다양한 시나리오에 적용될 수 있다.
모빌리티 서비스에서는 출발지와 목적지가 페어를 형성할 수 있다. 모빌리티 서비스에서 이동 대상의 주행 경로가 생성되기 위해서는, 이동 대상이 방문하는 노드가 출발지 또는 목적지 중 어느 것에 해당하는지 고려되어야 한다.
예를 들어, 승객 A의 출발지가 O1 노드이고, 도착지가 D1 노드이며, 승객 B의 출발지가 O2 노드이고, 도착지가 D2 노드인 경우, 승객 A를 태운 이동 대상이 승객 A의 출발지인 O1 노드에서 이동할 수 있는 다음 노드는 D1 노드 또는 O2 노드이다. 이동 대상은 O1 노드에서 곧 바로 승객 B의 도착지인 D2 노드로 이동할 수 없다. 즉, 승객 B가 이동 대상에 승차하는 것이, 승객 B가 이동 대상에서 하차하는 것 보다 우선되어야 한다.
도 4를 참조하면, 주행 경로 생성 서버(2000)는 지도(400)에 표시되는 복수의 노드들에 대한 위치 정보를 획득할 수 있다. 복수의 노드들은 제1 그룹 및 제2 그룹 중 어느 하나의 그룹에 포함될 수 있다. 제1 그룹에는 출발지에 해당하는 노드가 포함되고, 제2 그룹에는 도착지에 해당하는 노드가 포함될 수 있으나, 각 그룹에 포함되는 노드의 종류는 이에 제한되지 않는다.
도 4(a)를 참조하면, 출발지에 해당하는 O1 노드 내지 O3 노드는 제1 그룹에 포함되고, 도착지에 해당하는 D1 노드 내지 D3 노드는 제2 그룹에 포함될 수 있다. 또한, 제1 그룹의 노드들과 제2 그룹의 노드들은 페어를 형성할 수 있다. 구체적으로, O1 노드와 D1 노드, O2 노드와 D2 노드, 그리고 O3 노드와 D3 노드가 페어를 형성할 수 있다.
주행 경로 생성 서버(2000)는 이동 대상(401)의 현재 위치에 기초하여 제1 그룹의 노드들 중 어느 하나의 노드를 제1 노드로 선택할 수 있다. 도 4(b)를 참조하면, 제1 그룹에 포함되는 O1 노드 내지 O3 노드 중에서, 주행 경로 생성 서버(2000)는 이동 대상(401)의 현재 위치와 가장 가까이 위치한 O1 노드를 제1 노드로 선택할 수 있다.
일 실시예에서, 이동 대상이 출발지에서 출발하여 출발지와 페어된 도착지로 이동할 수 있다. 구체적으로, 제2 그룹에 포함되는 D1 노드 내지 D3 노드 중에서, 주행 경로 생성 서버(2000)는 O1 노드와 페어를 형성하는 D1 노드를 제2 노드로 선택할 수 있다.
주행 경로 생성 서버(2000)는 이동 대상(401)이 제1 노드 및 제2 노드 순으로 방문하도록 주행 경로를 생성할 수 있다.
다른 실시예에서, 이동 대상이 출발지에서 출발하여 출발지와 페어된 도착지로 이동하기 전에 다른 출발지를 방문할 수 있다.
구체적으로, 주행 경로 생성 서버(2000)는 제1 노드의 위치에 기초하여 제1 노드를 제외한 제1 그룹의 나머지 노드들 중 어느 하나의 노드를 제3 노드로 선택할 수 있다. 예를 들어, 주행 경로 생성 서버(2000)는 제1 그룹의 나머지 노드들인 O2 노드 또는 O3 노드 중에서, 제1 노드인 O1 노드와 가깝게 위치한 O2 노드를 제3 노드로 선택할 수 있다.
또한, 주행 경로 생성 서버(2000)는 제3 노드의 위치에 기초하여 제2 그룹의 노드들 중에서 제1 노드 또는 제3 노드와 페어를 형성하는 어느 하나의 노드를 제2 노드로 선택할 수 있다. 예를 들어, 주행 경로 생성 서버(2000)는 제1 노드인 O1 노드와 페어를 형성하는 D1 노드, 또는 제3 노드인 O2 노드와 페어를 형성하는 D2 노드 중에서, 제3 노드인 O2 노드와 가깝게 위치한 D1 노드를 제2 노드로 선택할 수 있다.
주행 경로 생성 서버(2000)는 이동 대상(401)이 제1 노드, 제3 노드 및 제2 노드 순으로 방문하도록 주행 경로를 생성할 수 있다.
또 다른 실시예에서, 이동 대상이 출발지에서 출발하여 다른 출발지, 또는 출발지와 페어된 도착지 중 어느 한 곳을 방문할 수 있다.
도 4(c) 및 도 4(d)를 참조하면, 주행 경로 생성 서버(2000)는 제1 노드의 위치에 기초하여 제1 노드를 제외한 제1 그룹의 나머지 노드들, 그리고 제1 노드와 페어를 형성하는 제2 그룹의 노드 중에서 어느 하나의 노드를 제3 노드로 선택할 수 있다.
또한, 주행 경로 생성 서버(2000)는 제1 그룹의 노드가 제3 노드로 선택된 경우, 제3 노드의 위치에 기초하여 제1 노드 및 제3 노드를 제외한 제1 그룹의 나머지 노드들, 그리고 제1 노드 또는 상기 제3 노드와 페어를 형성하는 제2 그룹의 노드들 중에서 어느 하나의 노드를 제2 노드로 선택할 수 있다.
예를 들어, 제1 그룹에 포함된 O2 노드가 제3 노드로 선택된 경우, 주행 경로 생성 서버(2000)는 제1 그룹의 나머지 노드들인 O3 노드, O1 노드와 페어를 형성하는 D1 노드, 또는 O2 노드와 페어를 형성하는 D2 노드 중에서, O2 노드와 가깝게 위치한 D1 노드를 제2 노드로 선택할 수 있다.
또는, 제2 그룹에 포함된 D1 노드가 제3 노드로 선택된 경우, 주행 경로 생성 서버(2000)는 제1 그룹의 나머지 노드들인 O2 노드와 O3 노드 중에서, D1 노드와 가깝게 위치한 O2 노드를 제2 노드로 선택할 수 있다.
주행 경로 생성 서버(2000)는 이동 대상(401)이 제1 노드, 제3 노드 및 제2 노드 순으로 방문하도록 주행 경로를 생성할 수 있다.
한편, 주행 경로 생성 서버(2000)에서 기획득된 노드들 외에 제1 그룹의 노드 및 제2 그룹의 노드에 대한 위치 정보를 새롭게 획득하는 경우, 생성된 주행 경로를 리셋할 수 있다. 주행 경로 생성 서버(2000)는 기획득된 노드들과 새롭게 획득한 노드들을 모두 고려하여 상술한 방법에 따라 주행 경로를 다시 생성할 수 있다.
도 5는 일 실시예에 따른 할당값을 이용하여 출발지와 목적지를 고려한 주행 경로를 생성하는 방법을 설명하기 위한 예시적인 도면이다.
주행 경로를 생성하기 위한 방법으로서, 제1 그룹의 노드들과 제2 그룹의 노드들에 대한 위치 정보를 획득하는 단계 - 상기 제1 그룹의 노드들과 상기 제2 그룹의 노드들은 페어(pair)를 형성 -; 상기 제1 그룹의 노드들의 할당값을 기준값으로 설정하고, 상기 제2 그룹의 노드들의 할당값을 '기준값 + 1'로 설정하는 단계; 이동 대상의 현재 위치에 기초하여 할당값이 '기준값'인 노드들 중에서 어느 하나의 노드를 제1 노드로 선택하고, 상기 제1 노드를 제외한 상기 제1 그룹의 나머지 노드들의 할당값을 '기준값 + 1'로 업데이트하고, 상기 제1 노드와 페어를 형성하는 노드를 제외한 상기 제2 그룹의 나머지 노드들의 할당값을 '기준값 + 2'로 업데이트하는 단계; 상기 제1 노드의 위치에 기초하여 할당값이 '기준값 + 1'인 노드들 중에서 어느 하나의 노드를 제3 노드로 선택하는 단계; 상기 제1 그룹의 노드가 상기 제3 노드로 선택된 경우, 상기 제1 노드 및 상기 제3 노드를 제외한 상기 제1 그룹의 나머지 노드들의 할당값을 '기준값 + 2'로 업데이트하고, 상기 제1 노드 또는 상기 제3 노드와 페어를 형성하는 상기 제2 그룹의 노드들의 할당값을 '기준값 + 2'로 업데이트하고, 상기 제2 그룹의 나머지 노드들의 할당값을 '기준값 + 3'으로 업데이트하며, 상기 제3 노드의 위치에 기초하여 할당값이 '기준값 + 2'인 노드들 중에서 어느 하나의 노드를 제2 노드로 선택하고, 상기 제2 그룹의 노드가 상기 제3 노드로 선택된 경우, 상기 제3 노드의 위치에 기초하여 할당값이 '기준값 + 1'인 노드들 중에서 어느 하나의 노드를 제2 노드로 선택하는 단계; 및 상기 이동 대상이 상기 제1 노드, 상기 제3 노드 및 상기 제2 노드 순으로 방문하도록 주행 경로를 생성하는 단계;를 포함하는, 방법을 제공할 수 있다.
도 5를 참조하면, 주행 경로 생성 서버(2000)는 지도(500)에 표시되는 복수의 노드들에 대한 위치 정보를 획득할 수 있다. 복수의 노드들은 제1 그룹 및 제2 그룹 중 어느 하나의 그룹에 포함될 수 있다. 제1 그룹에는 출발지에 해당하는 노드가 포함되고, 제2 그룹에는 도착지에 해당하는 노드가 포함될 수 있으나, 각 그룹에 포함되는 노드의 종류는 이에 제한되지 않는다.
도 5(a)를 참조하면, 출발지에 해당하는 O1 노드 내지 O3 노드는 제1 그룹에 포함되고, 도착지에 해당하는 D1 노드 내지 D3 노드는 제2 그룹에 포함될 수 있다. 또한, 제1 그룹의 노드들과 제2 그룹의 노드들은 페어를 형성할 수 있다. 구체적으로, O1 노드와 D1 노드, O2 노드와 D2 노드, 그리고 O3 노드와 D3 노드가 페어를 형성할 수 있다.
주행 경로 생성 서버(2000)는 제1 그룹에 포함되는 노드들의 할당값을 기준값으로 설정하고, 제2 그룹에 포함되는 노드들의 할당값을 '기준값 + 1'로 설정할 수 있다. 도 5(b)를 참조하면, 주행 경로 생성 서버(2000)는 O1 노드 내지 O3 노드의 할당값을 1(기준값)로 설정하고, D1 노드 내지 D3 노드의 할당값을 2로 설정할 수 있다.
주행 경로 생성 서버(2000)는 이동 대상(501)의 현재 위치에 기초하여 할당값이 '기준값'인 노드들 중에서 어느 하나의 노드를 제1 노드로 선택할 수 있다. 도 5(b)를 참조하면, 주행 경로 생성 서버(2000)는 할당값이 1인 O1 노드 내지 O3 노드 중에서, 이동 대상(501)의 현재 위치와 가까운 O1 노드를 제1 노드로 선택할 수 있다.
주행 경로 생성 서버(2000)는 제1 노드를 제외한 상기 제1 그룹의 나머지 노드들의 할당값을 '기준값 + 1'로 업데이트하고, 제1 노드와 페어를 형성하는 노드를 제외한 제2 그룹의 나머지 노드들의 할당값을 '기준값 + 2'로 업데이트할 수 있다. 도 5(c)를 참조하면, 주행 경로 생성 서버(2000)는 O2 노드 및 O3 노드의 할당값을 2로 업데이트하고, D1 노드를 제외한 제2 그룹의 나머지 노드들인 D2 노드 및 D3 노드의 할당값을 3으로 업데이트할 수 있다. D1 노드의 할당값은 2로 유지될 수 있다.
주행 경로 생성 서버(2000)는 제1 노드의 위치에 기초하여 할당값이 '기준값 + 1'인 노드들 중에서 어느 하나의 노드를 제3 노드로 선택할 수 있다. 도 5(c)를 참조하면, 주행 경로 생성 서버(2000)는 할당값이 2인 O2 노드, O3 노드, 그리고 D1 노드 중에서 어느 하나의 노드를 제3 노드로 선택할 수 있다.
일 실시예에서, 제2 그룹의 노드가 제3 노드로 선택 된 경우, 주행 경로 생성 서버(2000)는 제3 노드의 위치에 기초하여 할당값이 '기준값 + 1'인 노드들 중에서 어느 하나의 노드를 제2 노드로 선택할 수 있다. 도 5(d)를 참조하면, D1 노드가 제3 노드로 선택된 경우, 주행 경로 생성 서버(2000)는 할당값이 2인 O2 노드 및 O3 노드 중에서 어느 하나의 노드를 제2 노드로 선택할 수 있다.
다른 실시예에서, 제1 그룹의 노드가 제3 노드로 선택된 경우, 제1 노드 및 제3 노드를 제외한 제1 그룹의 나머지 노드들의 할당값을 '기준값 + 2'로 업데이트하고, 제1 노드 또는 상기 제3 노드와 페어를 형성하는 상기 제2 그룹의 노드들의 할당값을 '기준값 + 2'로 업데이트하고, 제2 그룹의 나머지 노드들의 할당값을 '기준값 + 3'으로 업데이트할 수 있다. 그리고, 제3 노드의 위치에 기초하여 할당값이 '기준값 + 2'인 노드들 중에서 어느 하나의 노드를 제2 노드로 선택할 수 있다.
예를 들어, O2 노드가 제3 노드로 선택된 경우, 주행 경로 생성 서버(2000)는 O1 노드 및 O2 노드를 제외한 제1 그룹의 O3 노드의 할당값을 3으로 업데이트하고, O1 노드와 페어를 형성하는 D1 노드 및 O2 노드와 페어를 형성하는 D2 노드의 할당값을 3으로 업데이트하고, 제2 그룹의 나머지 노드인 D3 노드의 할당값을 4로 업데이트할 수 있다. 주행 경로 생성 서버(2000)는 할당값이 3인 O3 노드, D1 노드 및 D2 노드 중에서 어느 하나의 노드를 제2 노드로 선택할 수 있다.
주행 경로 생성 서버(2000)는 이동 대상(501)이 제1 노드, 제3 노드 및 제2 노드 순으로 방문하도록 주행 경로를 생성할 수 있다.
도 6은 일 실시예에 따른 클러스터링을 이용하여 출발지와 목적지를 고려한 주행 경로를 생성하는 방법을 설명하기 위한 예시적인 도면이다.
도 6을 참조하면, 주행 경로 생성 서버(2000)는 지도(600)에 표시되는 복수의 노드들에 대한 위치 정보를 획득할 수 있다. 페어를 형성하는 복수의 노드들은 어느 하나의 클러스터에 포함될 수 있다.
출발지에 해당하는 O1 노드 내지 O3 노드는 제1 그룹에 포함되고, 도착지에 해당하는 D1 노드 내지 D3 노드는 제2 그룹에 포함될 수 있다. 제1 그룹의 노드들과 및 제2 그룹의 노드들은 페어를 형성할 수 있다. 주행 경로 생성 서버(2000)는 제1 그룹의 노드들과 및 제2 그룹의 노드들을 클러스터링하여 제1 클러스터(610)를 생성할 수 있다.
또한, 출발지에 해당하는 O4 노드 내지 O6 노드는 제3 그룹에 포함되고, 도착지에 해당하는 D4 노드 내지 D6 노드는 제4 그룹에 포함될 수 있다. 제3 그룹의 노드들과 및 제4 그룹의 노드들은 페어를 형성할 수 있다. 주행 경로 생성 서버(2000)는 제3 그룹의 노드들과 및 제4 그룹의 노드들을 클러스터링하여 제2 클러스터(620)를 생성할 수 있다.
주행 경로 생성 서버(2000)는 이동 대상(601)이 제1 클러스터(610)에 포함된 노드들을 순차적으로 방문하도록 제1 주행 경로를 생성할 수 있다. 또한, 주행 경로 생성 서버(2000)는 이동 대상(601)이 제2 클러스터(620)에 포함된 노드들을 순차적으로 방문하도록 제2 주행 경로를 생성할 수 있다. 주행 경로 생성 서버(2000)에서 제1 주행 경로 및 제2 주행 경로를 생성하는 방식은 도 4 내지 도 5에서 상술한 내용을 참고한다.
주행 경로 생성 서버(2000)는 제1 주행 경로와 상기 제2 주행 경로를 연결하여 최종 주행 경로를 생성할 수 있다.
일 실시예에서, 주행 경로 생성 서버(2000)는 제1 클러스터(610) 내 이동 대상(601)의 마지막 방문 노드와, 제2 클러스터(620) 내 이동 대상(601)의 첫번째 방문 노드 간의 이동 거리에 기초하여, 제1 주행 경로 및 제2 주행 경로를 생성할 수 있다.
예를 들어, D3 노드가 제1 주행 경로의 마지막 방문 노드로 결정되는 경우, 제1 주행 경로 관점에서 최단시간 또는 최단거리의 주행 경로가 생성될 수 있다. 그러나, D3 노드가 제1 주행 경로의 마지막 방문 노드로 결정되는 경우, 제1 클러스터(610)에서 제2 클러스터(620)로 이동하기 위한 이동 거리가 멀어지므로, 최종 주행 경로 관점에서 최단시간 또는 최단거리의 주행 경로가 생성되지 않을 수 있다.
마찬가지로, O4 노드가 제2 주행 경로의 첫번째 방문 노드로 결정되는 경우, 제2 주행 경로 관점에서 최단시간 또는 최단거리의 주행 경로가 생성될 수 있다. 그러나, O4 노드가 제2 주행 경로의 첫번째 방문 노드로 결정되는 경우, 제1 클러스터(610)에서 제2 클러스터(620)로 이동하기 위한 이동 거리가 멀어지므로, 최종 주행 경로 관점에서 최단시간 또는 최단거리의 주행 경로가 생성되지 않을 수 있다.
본 발명에서는 클러스터 간 이동 거리를 고려하여 각 클러스터의 주행 경로를 결정함으로써 최적의 주행 경로를 생성할 수 있다.
도 7은 일 실시예에 따른 주행 경로를 생성하는 방법의 흐름도이다.
도 7에 도시된, 주행 경로를 생성하는 방법은, 앞서 설명된 도면들에서 설명된 실시예들에 관련되므로, 이하 생략된 내용이라 할지라도, 앞서 도면들에서 설명된 내용들은 도 7의 방법에도 적용될 수 있다.
도 7을 참조하면, 단계 710에서 프로세서는 제1 그룹의 노드들과 제2 그룹의 노드들에 대한 위치 정보를 획득할 수 있다.
제1 그룹에는 출발지에 해당하는 노드가 포함되고, 제2 그룹에는 도착지에 해당하는 노드가 포함될 수 있으나, 각 그룹에 포함되는 노드의 종류는 이에 제한되지 않는다.
위치 정보에는 각 노드의 위도, 경도에 대한 정보가 포함될 수 있으나, 이에 제한되지 않는다. 또한, 프로세서는 제1 그룹의 노드들과 제2 그룹의 노드들이 위치한 지역에 대한 교통상황, 도로 등급 등을 획득할 수 있다. 프로세서에서 획득한 상기와 같은 정보들은 추후 TSP 알고리즘을 통해 여러 선택 가능한 노드들 중 어느 하나의 노드를 선택하는데 이용될 수 있다.
단계 720에서 프로세서는 이동 대상의 현재 위치에 기초하여 제1 그룹의 노드들 중 어느 하나의 노드를 제1 노드로 선택할 수 있다.
단계 730에서 프로세서는 제1 노드의 위치에 기초하여 제1 노드를 제외한 제1 그룹의 나머지 노드들, 그리고 제1 노드와 페어를 형성하는 제2 그룹의 노드 중에서 어느 하나의 노드를 제3 노드로 선택할 수 있다.
단계 740에서 프로세서는 제1 그룹의 노드가 제2 노드로 선택되었는지 결정할 수 있다.
제1 그룹의 노드가 제2 노드로 선택된 경우 단계 750으로 진행될 수 있다.
단계 750에서 프로세서는 제3 노드의 위치에 기초하여, 제1 노드 및 제3 노드를 제외한 제1 그룹의 나머지 노드들, 그리고 제1 노드 또는 제3 노드와 페어를 형성하는 제2 그룹의 노드들 중에서 어느 하나의 노드를 제2 노드로 선택할 수 있다.
제2 그룹의 노드가 제2 노드로 선택된 경우 단계 760으로 진행될 수 있다.
*단계 760에서 프로세서는 제3 노드의 위치에 기초하여, 제1 노드를 제외한 제1 그룹의 나머지 노드들 중에서 어느 하나의 노드를 제2 노드로 선택할 수 있다.
단계 770에서 프로세서는 이동 대상이 제1 노드, 제3 노드 및 제2 노드 순으로 방문하도록 주행 경로를 생성할 수 있다.
도 8은 일 실시예에 따른 주행 경로를 생성하는 방법의 흐름도이다.
도 8에 도시된, 주행 경로를 생성하는 방법은, 앞서 설명된 도면들에서 설명된 실시예들에 관련되므로, 이하 생략된 내용이라 할지라도, 앞서 도면들에서 설명된 내용들은 도 8의 방법에도 적용될 수 있다.
도 8을 참조하면, 단계 810에서 프로세서는 제1 그룹의 노드들과 제2 그룹의 노드들에 대한 위치 정보를 획득할 수 있다.
단계 820에서 프로세서는 현재 선택된 노드의 위치에 기초하여, 제1 그룹의 노드 중에서 기선택된 노드와 페어를 형성하는 제2 그룹의 노드들, 그리고 선택되지 않은 제1 그룹의 노드들 중에서, 어느 하나의 노드를 다음 방문 노드로 선택할 수 있다.
이하에서, 제1 그룹에 O1 노드 내지 O3 노드가 포함되고, 제2 그룹에 D1 내지 D3 노드가 포함되고, O1 노드와 D1 노드, O2 노드와 D2 노드, 그리고 O3 노드와 D3 노드가 페어를 형성하는 것으로 전제한다.
제1 그룹의 노드들은 출발지 노드이고, 제2 그룹의 노드들은 도착지 노드이므로, 본 발명에서 제2 그룹의 노드는 이와 페어를 형성하는 제1 그룹의 노드가 선택된 후에만 선택될 수 있도록 설계되었다. 또한, 본 발명은 한 번 선택이 완료된 노드가 재선택될 수 없도록 설계되었다.
예를 들어, O1 노드가 기선택된 노드이고, O2 노드가 현재 선택된 노드이며, 다른 노드들은 선택되지 않은 경우를 가정한다. 프로세서는 O1 노드와 페어를 형성하는 D1 노드, O2 노드와 페어를 형성하는 D2 노드, 그리고 아직 선택되지 않은 제1 그룹의 O3 노드 중에서, 어느 하나의 노드를 다음 방문 노드로 선택할 수 있다.
또는, D1 노드가 현재 선택된 노드이고 다른 노드들은 선택되지 않은 경우를 가정한다. 다만, 위에서 설명한 설계 방법에 따라, D1 노드와 페어를 형성하는 O1 노드는 이미 선택된 것을 유추할 수 있다. 프로세서는 아직 선택되지 않은 제1 그룹의 O2 노드 및 O3 노드 중에서, 어느 하나의 노드를 다음 방문 노드로 선택할 수 있다.
한편, 상술한 바와 같이, 여러 선택 가능한 노드들 중 어느 하나의 노드를 선택하는 방법으로는 TSP 알고리즘이 이용될 수 있다.
단계 830에서 프로세서는 이동 대상이 노드의 선택 순서에 따라 노드를 방문하도록 주행 경로를 생성할 수 있다.
예를 들어, O1 노드, D1 노드 및 O2 노드 순으로 선택된 경우, 프로세서는 이동 대상이 O1 노드, D1 노드 및 O2 노드 순으로 방문하도록 주행 경로를 생성할 수 있다.
도 9는 일 실시예에 따른 주행 경로 생성 서버의 블록도이다.
도 9를 참조하면, 주행 경로 생성 서버(900)는 통신부(910), 프로세서(920) 및 DB(930)를 포함할 수 있다. 도 9의 어플리케이션 운영 서버(1000)에는 실시예와 관련된 구성요소들만이 도시되어 있다. 따라서, 도 9에 도시된 구성요소들 외에 다른 범용적인 구성요소들이 더 포함될 수 있음을 당해 기술분야의 통상의 기술자라면 이해할 수 있다.
통신부(910)는 사용자 단말들과 결제 기준 데이터 제공 서버들과 유선/무선 통신을 하게 하는 하나 이상의 구성 요소를 포함할 수 있다. 예를 들어, 통신부(910)는, 근거리 통신부(미도시), 이동 통신부(미도시) 및 방송 수신부(미도시) 중 적어도 하나를 포함할 수 있다.
DB(930)는 주행 경로 생성 서버(1000) 내에서 처리되는 각종 데이터들을 저장하는 하드웨어로서, 프로세서(920)의 처리 및 제어를 위한 프로그램을 저장할 수 있다. DB(930)는 결제 정보, 사용자 정보 등을 저장할 수 있다.
DB(930)는 DRAM(dynamic random access memory), SRAM(static random access memory) 등과 같은 RAM(random access memory), ROM(read-only memory), EEPROM(electrically erasable programmable read-only memory), CD-ROM, 블루레이 또는 다른 광학 디스크 스토리지, HDD(hard disk drive), SSD(solid state drive), 또는 플래시 메모리를 포함할 수 있다.
프로세서(920)는 주행 경로 생성 서버(1000)의 전반적인 동작을 제어한다. 예를 들어, 프로세서(920)는 DB(930)에 저장된 프로그램들을 실행함으로써, 입력부(미도시), 디스플레이(미도시), 통신부(910), DB(930) 등을 전반적으로 제어할 수 있다. 프로세서(920)는, DB(930)에 저장된 프로그램들을 실행함으로써, 주행 경로 생성 서버(1000)의 동작을 제어할 수 있다.
프로세서(920)는 도 1 내지 도 8에서 상술한 어플리케이션의 동작 중 적어도 일부를 제어할 수 있다.
프로세서(920)는 ASICs (application specific integrated circuits), DSPs(digital signal processors), DSPDs(digital signal processing devices), PLDs(programmable logic devices), FPGAs(field programmable gate arrays), 제어기(controllers), 마이크로 컨트롤러(micro-controllers), 마이크로 프로세서(microprocessors), 기타 기능 수행을 위한 전기적 유닛 중 적어도 하나를 이용하여 구현될 수 있다.
본 발명에 따른 실시 예는 컴퓨터 상에서 다양한 구성요소를 통하여 실행될 수 있는 컴퓨터 프로그램의 형태로 구현될 수 있으며, 이와 같은 컴퓨터 프로그램은 컴퓨터로 판독 가능한 매체에 기록될 수 있다. 이때, 매체는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM 및 DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical medium), 및 ROM, RAM, 플래시 메모리 등과 같은, 프로그램 명령어를 저장하고 실행하도록 특별히 구성된 하드웨어 장치를 포함할 수 있다.
한편, 상기 컴퓨터 프로그램은 본 발명을 위하여 특별히 설계되고 구성된 것이거나 컴퓨터 소프트웨어 분야의 당업자에게 공지되어 사용 가능한 것일 수 있다. 컴퓨터 프로그램의 예에는, 컴파일러에 의하여 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용하여 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드도 포함될 수 있다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 설명되는 실시 예들을 참조하면 명확해질 것이다. 그러나 본 발명은 아래에서 제시되는 실시 예들로 한정되는 것이 아니라, 서로 다른 다양한 형태로 구현될 수 있고, 본 발명의 사상 및 기술 범위에 포함되는 모든 변환, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 아래에 제시되는 실시 예들은 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이다. 본 발명을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.
본 출원에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
본 개시의 일부 실시예는 기능적인 블록 구성들 및 다양한 처리 단계들로 나타내어질 수 있다. 이러한 기능 블록들의 일부 또는 전부는, 특정 기능들을 실행하는 다양한 개수의 하드웨어 및/또는 소프트웨어 구성들로 구현될 수 있다. 예를 들어, 본 개시의 기능 블록들은 하나 이상의 마이크로프로세서들에 의해 구현되거나, 소정의 기능을 위한 회로 구성들에 의해 구현될 수 있다. 또한, 예를 들어, 본 개시의 기능 블록들은 다양한 프로그래밍 또는 스크립팅 언어로 구현될 수 있다. 기능 블록들은 하나 이상의 프로세서들에서 실행되는 알고리즘으로 구현될 수 있다. 또한, 본 개시는 전자적인 환경 설정, 신호 처리, 및/또는 데이터 처리 등을 위하여 종래 기술을 채용할 수 있다."매커니즘", "요소", "수단" 및 "구성"등과 같은 용어는 넓게 사용될 수 있으며, 기계적이고 물리적인 구성들로서 한정되는 것은 아니다.
또한, 도면에 도시된 구성 요소들 간의 연결 선 또는 연결 부재들은 기능적인 연결 및/또는 물리적 또는 회로적 연결들을 예시적으로 나타낸 것일 뿐이다. 실제 장치에서는 대체 가능하거나 추가된 다양한 기능적인 연결, 물리적인 연결, 또는 회로 연결들에 의해 구성 요소들 간의 연결이 나타내어질 수 있다.
이하에서 설명되는 주행 경로는, 자전거-쉐어링(Bicycle Sharing), 카-쉐어링(Car Sharing), Mobility-on-Demand, 수요 대응형 교통(Demand Responsive Transport), Mobility Service, Mobility Management, 통합 여객 운송(Intermodal Passenger Transport), 배달 등 다양한 시나리오에 적용될 수 있다.
또한, 이하에서 여러 선택 가능한 노드들 중 어느 하나의 노드를 선택하는 방법으로는 TSP 알고리즘이 이용될 수 있다. TSP 알고리즘으로는 다익스트라(Dijkstra) 알고리즘, A* 알고리즘 또는 양방향 알고리즘 등이 사용될 수 있으나, 이에 제한되지 않는다.
이하 첨부된 도면을 참고하여 본 개시를 상세히 설명하기로 한다.
도 1은 일 실시예에 따른 사용자 단말 및 주행 경로 생성 장치를 포함하는 시스템도이다.
일 실시예에 따른 시스템은 사용자 단말(1000) 및 주행 경로 생성 장치(2000)를 포함할 수 있다.
사용자 단말(1000)은, 스마트폰, 태블릿 PC, PC, 스마트 TV, 휴대폰, PDA(personal digital assistant), 랩톱, 미디어 플레이어, 마이크로 서버, GPS(global positioning system) 장치, 전자책 단말기, 디지털방송용 단말기, 네비게이션, 키오스크, MP3 플레이어, 디지털 카메라, 가전기기, 카메라가 탑재된 디바이스 및 기타 모바일 또는 비모바일 컴퓨팅 장치일 수 있다. 또한, 사용자 단말(1000)은 통신 기능 및 데이터 프로세싱 기능을 구비한 시계, 안경, 헤어 밴드 및 반지 등의 웨어러블 디바이스일 수 있다. 그러나, 이에 제한되지 않는다.
이하에서, 사용자 단말(1000)은 운전자용 단말과 승객용 단말을 포함할 수 있다.
주행 경로 생성 장치(2000)는 네트워크를 통해 통신하여 명령, 코드, 파일, 컨텐츠, 서비스 등을 제공하는 컴퓨터 장치 또는 복수의 컴퓨터 장치들로 구현될 수 있다.
주행 경로 생성 장치(2000)는 복수의 노드들에 대한 위치 정보에 기초하여 이동 대상(예를 들어, 자전거, 킥보드, 자동차, 사람 등)의 노드 방문 순서를 결정함으로써 주행 경로를 생성할 수 있다. 주행 경로 생성 장치(2000)는 각 노드가 출발지 노드 또는 도착지 노드 중 어느 노드에 해당하는지 여부에 기초하여 노드 방문 순서를 결정할 수 있다.
사용자 단말(1000) 및 주행 경로 생성 장치(2000)는 네트워크(3000)를 이용하여 통신을 수행할 수 있다. 일 실시예에서 사용자 단말(1000)에는 어플리케이션이 설치되고, 주행 경로 생성 장치(2000)는 어플리케이션을 관리하는 서버일 수 있다. 주행 경로 생성 장치(2000)는 사용자 단말(1000)에 설치된 어플리케이션을 통해, 사용자 단말(1000)과 데이터를 주고 받을 수 있다.
네트워크(3000)는 근거리 통신망(Local Area Network; LAN), 광역 통신망(Wide Area Network; WAN), 부가가치 통신망(Value Added Network; VAN), 이동 통신망(mobile radio communication network), 위성 통신망 및 이들의 상호 조합을 포함하며, 도 1에 도시된 각 네트워크 구성 주체가 서로 원활하게 통신을 할 수 있도록 하는 포괄적인 의미의 데이터 통신망이며, 유선 인터넷, 무선 인터넷 및 모바일 무선 통신망을 포함할 수 있다. 또한, 무선 통신은 예를 들어, 무선 랜(Wi-Fi), 블루투스, 블루투스 저 에너지(Bluetooth low energy), 지그비, WFD(Wi-Fi Direct), UWB(ultra wideband), 적외선 통신(IrDA, infrared Data Association), NFC(Near Field Communication) 등이 있을 수 있으나, 이에 한정되는 것은 아니다.
한편, 도 1에서는 주행 경로 생성 장치(2000)가 하나의 사용자 단말(1000)과 네트워크를 이용하여 통신을 수행하는 것으로 도시되었으나 이는 예시일 뿐, 주행 경로 생성 장치(2000)는 두 개 이상의 사용자 단말(1000)과 네트워크를 이용하여 통신을 수행할 수 있다.
도 2a 내지 도 2b는 일 실시예에 따른 주행 경로 제공 서버에서 사용자 단말로 주행 경로를 제공하는 예시를 설명하기 위한 도면이다.
도 2a 내지 도 2b에서 제1 사용자 단말(1001) 및 제2 사용자 단말(1002)은 도 1의 사용자 단말(1000)과 동일하므로 이에 대한 자세한 설명은 생략하기로 한다.
도 2a를 참조하면, 제1 사용자 단말(1001)은 제1 사용자로부터 출발지와 목적지를 입력하는 입력을 수신할 수 있다. 예를 들어, 제1 사용자는 제1 사용자 단말(1001)의 입력 인터페이스를 통해 출발지로 B 노드를 입력하고, 목적지로 C 노드를 입력할 수 있다.
제1 사용자 단말(1000)은 출발지 및 목적지를 포함하는 제1 여정 정보를 주행 경로 생성 장치(2000)로 전송할 수 있다. 여정 정보에는 1 사용자가 출발지와 목적지를 입력한 입력 시간, 출발지 명칭, 출발지의 위도 및 경도, 목적지 명칭, 목적지의 위도 및 경도 등이 포함될 수 있으나, 이에 제한되지 않는다.
주행 경로 생성 장치(2000)는 제1 사용자 단말(1000)로부터 수신한 제1 여정 정보에 기초하여 주행 경로를 생성할 수 있다. 주행 경로는 이동 대상이 주행하게 될 경로를 지도 상에 나타낸 것일 수 있다.
예를 들어, 주행 경로 생성 장치(2000)는 초기 노드에 해당하는 A 노드에서 제1 사용자의 출발지인 B 노드로 이동하는 주행 경로와, B 노드에서 제1 사용자의 목적지인 C 노드로 이동하는 주행 경로를 생성할 수 있다. 여기서. 초기 노드는 제1 사용자 단말(1000)에서 출발지와 목적지를 입력하는 입력을 수신한 시점의 이동 대상의 위치에 대응하는 노드일 수 있다. 또는, 초기 노드는 주행 경로 생성 장치(2000)에서 제1 사용자 단말(1000)로부터 제1 여정 정보를 수신한 시점의 이동 대상의 위치에 대응하는 노드일 수 있다.
도 2a에서는 A 노드에서 B 노드에서, 그리고 B 노드에서 C 노드로 이동하는 주행 경로가 직선으로 표시되었으나, 이는 설명의 편의를 위함이고, 각 노드들 간의 주행 경로는 실제 지도 상의 이동 가능한 길을 따라 생성될 수 있다.
주행 경로 생성 장치(2000)는 생성된 주행 경로에 기초하여 출발 예상 시간과 도착 예상 시간을 산출할 수 있다. 주행 경로 생성 장치(2000)는 생성된 주행 경로의 길이, 교통상황(예를 들어, 교통 체증), 선택 옵션(예를 들어, 최단 거리, 최단 시간 등) 등을 이용하여 출발 예상 시간과 도착 예상 시간을 산출할 수 있다. 출발 예상 시간은 이동 대상이 A 노드에서 출발한 후 B 노드에 도착하는 시간을 의미하고, 도착 예상 시간은 이동 대상이 B 노드에서 출발한 후 C 노드에 도착하는 시간을 의미할 수 있다.
도 2b를 참조하면, 제2 사용자 단말(1002)은 제2 사용자로부터 출발지와 목적지를 입력하는 입력을 수신할 수 있다. 예를 들어, 제2 사용자는 제2 사용자 단말(1002)의 입력 인터페이스를 통해 출발지로 C 노드를 입력하고, 목적지로 D 노드를 입력할 수 있다.
제2 사용자 단말(1002)은 출발지 및 목적지를 포함하는 제2 여정 정보를 주행 경로 생성 장치(2000)로 전송할 수 있다. 이하에서, 주행 경로 생성 장치(2000)는 제1 사용자 단말(1001)로부터 수신한 제1 여정 정보에 기초하여 주행 경로를 생성한 후, 제2 사용자 단말(1002)로부터 제2 여정 정보를 수신한 것을 전제로 한다.
주행 경로 생성 장치(2000)는 제2 사용자 단말(1002)로부터 수신한 제2 여정 정보에 기초하여 주행 경로를 업데이트할 수 있다.
예를 들어, 주행 경로 생성 장치(2000)에서 제2 여정 정보를 수신한 후에 기존 주행 경로에 더하여, B 노드에서 제2 사용자의 출발지인 C 노드로 이동하는 주행 경로와, C 노드에서 제2 사용자의 목적지인 D 노드로 이동하는 주행 경로를 추가로 생성함으로써, 주행 경로를 업데이트할 수 있다.
도 2b에서는 C 노드에서 D 노드, 그리고 D 노드에서 E 노드로 이동하는 주행 경로가 직선으로 표시되었으나, 이는 설명의 편의를 위함이고, 각 노드들 간의 주행 경로는 실제 지도 상의 이동 가능한 길을 따라 생성될 수 있다.
주행 경로 생성 장치(2000)는 생성된 주행 경로에 기초하여 출발 예상 시간과 도착 예상 시간을 산출할 수 있다. 출발 예상 시간은 이동 대상이 B 노드에서 출발한 후 C 노드에 도착하는 시간을 의미하고, 도착 예상 시간은 이동 대상이 C 노드에서 출발한 후 D 노드에 도착하는 시간을 의미할 수 있다.
도 2b에서는 이동 대상이 A 노드, B 노드, C 노드, D 노드 및 E 노드 순으로 이동하도록 주행 경로가 생성되는 것으로 도시되었으나 이는 예시일 뿐이며, 이에 제한되지 않는다. 예를 들어, 주행 경로 생성 장치(2000)는 Nearest Insertion (NI), Cheapest Insertion (CI), Farthest Insertion (FI), and Random Insertion (RI), Evolutionary Algorithm 등을 이용하여 노드들 간의 이동 순서를 결정함으로써 주행 경로를 생성할 수 있다.
한편, 주행 경로 생성 장치(2000)는 초기 노드인 A 노드에 대한 위치 정보, 제1 사용자 단말(1001)로부터 출발지인 B 노드 및 목적지인 C 노드에 대한 위치 정보를 수신하고, 제2 사용자 단말(1002)로부터 출발지인 D 노드 및 목적지인 E 노드에 대한 위치 정보를 수신한 후, A 노드 내지 E 노드에 대한 주행 경로를 생성할 수 있다. 이 때, 주행 경로 생성 장치(2000)는 출발지-도착지 관계를 고려하여 A 노드 내지 E 노드에 대한 주행 경로를 생성할 수 있다.
도 3은 일 실시예에 따른 순회 판매원 문제를 설명하기 위한 예시적인 도면이다.
순회 판매원 문제(traveling salesman problem; TSP)는 조합 최적화 문제의 일종이다. TSP는 복수의 노드들을 가장 적은 비용으로 특정한 순서 없이 방문하는 방법을 찾는 문제이다.
주행 경로 생성 장치(2000)는 지도(300)에 표시되는 복수의 노드들에 대한 위치 정보를 획득할 수 있다. 도 3을 참조하면, 주행 경로 생성 장치(2000)는 지도(300)에 표시되는 A1 노드 내지 A6 노드에 대한 위치 정보를 획득할 수 있다. 위치 정보에는 각 노드의 위도, 경도에 대한 정보가 포함될 수 있으나, 이에 제한되지 않는다.
주행 경로 생성 장치(2000)는 이동 대상(301)이 A1 노드 내지 A6 노드를 모두 방문하도록 주행 경로를 생성할 수 있다. 주행 경로 생성 장치(2000)는 TSP 알고리즘을 기초로 이동 대상(301)이 A1 노드 내지 A6 노드를 모두 방문하는 최단시간의 주행 경로 또는 최단거리의 주행 경로를 생성할 수 있다.
주행 경로 생성 장치(2000)는 주행 경로를 생성하기 위해 교통상황, 도로 등급 등을 고려할 수 있다. 예를 들어, 주행 경로 생성 장치(2000)는 특정 노드에서 다른 노드로 이동하는 경로의 교통 체증이 심하거나, 도로 등급이 낮아 이동 대상이 이동하기 어려운 상황들을 고려하여, A1 노드 내지 A6 노드를 모두 방문하는 최단시간의 주행 경로 또는 최단거리의 주행 경로를 생성할 수 있다.
한편, 도로의 등급은 소정의 기준에 따라 구분될 수 있다. 동일 등급의 도로 간에는 네트워크 연결성이 보정되어야 한다. 일 실시예에서, 도로의 등급은 소정의 기준에 따라 1등급부터 9등급으로 구분될 수 있다. 소정의 기준은 도로의 종류, 도로 통행량, 도로 너비, 도로 길이 등을 포함할 수 있으나, 이에 제한되지 않는다. 1등급이 가장 높은 등급에 해당하고, 9등급은 가장 낮은 등급에 해당할 수 있다.
도 4는 일 실시예에 따른 출발지와 목적지를 고려한 주행 경로를 생성하는 방법을 설명하기 위한 예시적인 도면이다.
모빌리티(mobility) 서비스는 자전거-쉐어링(Bicycle Sharing), 카-쉐어링(Car Sharing), Mobility-on-Demand, 수요 대응형 교통(Demand Responsive Transport), Mobility Service, Mobility Management, 통합 여객 운송(Intermodal Passenger Transport) 등 다양한 시나리오에 적용될 수 있다.
모빌리티 서비스에서는 출발지와 목적지가 페어를 형성할 수 있다. 모빌리티 서비스에서 이동 대상의 주행 경로가 생성되기 위해서는, 이동 대상이 방문하는 노드가 출발지 또는 목적지 중 어느 것에 해당하는지 고려되어야 한다.
예를 들어, 승객 A의 출발지가 O1 노드이고, 도착지가 D1 노드이며, 승객 B의 출발지가 O2 노드이고, 도착지가 D2 노드인 경우, 승객 A를 태운 이동 대상이 승객 A의 출발지인 O1 노드에서 이동할 수 있는 다음 노드는 D1 노드 또는 O2 노드이다. 이동 대상은 O1 노드에서 곧 바로 승객 B의 도착지인 D2 노드로 이동할 수 없다. 즉, 승객 B가 이동 대상에 승차하는 것이, 승객 B가 이동 대상에서 하차하는 것 보다 우선되어야 한다.
도 4를 참조하면, 주행 경로 생성 장치(2000)는 지도(400)에 표시되는 복수의 노드들에 대한 위치 정보를 획득할 수 있다. 복수의 노드들은 제1 그룹 및 제2 그룹 중 어느 하나의 그룹에 포함될 수 있다. 제1 그룹에는 출발지에 해당하는 노드가 포함되고, 제2 그룹에는 도착지에 해당하는 노드가 포함될 수 있으나, 각 그룹에 포함되는 노드의 종류는 이에 제한되지 않는다.
도 4(a)를 참조하면, 출발지에 해당하는 O1 노드 내지 O3 노드는 제1 그룹에 포함되고, 도착지에 해당하는 D1 노드 내지 D3 노드는 제2 그룹에 포함될 수 있다. 또한, 제1 그룹의 노드들과 제2 그룹의 노드들은 페어를 형성할 수 있다. 구체적으로, O1 노드와 D1 노드, O2 노드와 D2 노드, 그리고 O3 노드와 D3 노드가 페어를 형성할 수 있다.
주행 경로 생성 장치(2000)는 이동 대상(401)의 현재 위치에 기초하여 제1 그룹의 노드들 중 어느 하나의 노드를 제1 노드로 선택할 수 있다. 도 4(b)를 참조하면, 제1 그룹에 포함되는 O1 노드 내지 O3 노드 중에서, 주행 경로 생성 장치(2000)는 이동 대상(401)의 현재 위치와 가장 가까이 위치한 O1 노드를 제1 노드로 선택할 수 있다.
일 실시예에서, 이동 대상이 출발지에서 출발하여 출발지와 페어된 도착지로 이동할 수 있다. 구체적으로, 제2 그룹에 포함되는 D1 노드 내지 D3 노드 중에서, 주행 경로 생성 장치(2000)는 O1 노드와 페어를 형성하는 D1 노드를 제2 노드로 선택할 수 있다.
주행 경로 생성 장치(2000)는 이동 대상(401)이 제1 노드 및 제2 노드 순으로 방문하도록 주행 경로를 생성할 수 있다.
다른 실시예에서, 이동 대상이 출발지에서 출발하여 출발지와 페어된 도착지로 이동하기 전에 다른 출발지를 방문할 수 있다.
구체적으로, 주행 경로 생성 장치(2000)는 제1 노드의 위치에 기초하여 제1 노드를 제외한 제1 그룹의 나머지 노드들 중 어느 하나의 노드를 제3 노드로 선택할 수 있다. 예를 들어, 주행 경로 생성 장치(2000)는 제1 그룹의 나머지 노드들인 O2 노드 또는 O3 노드 중에서, 제1 노드인 O1 노드와 가깝게 위치한 O2 노드를 제3 노드로 선택할 수 있다.
또한, 주행 경로 생성 장치(2000)는 제3 노드의 위치에 기초하여 제2 그룹의 노드들 중에서 제1 노드 또는 제3 노드와 페어를 형성하는 어느 하나의 노드를 제2 노드로 선택할 수 있다. 예를 들어, 주행 경로 생성 장치(2000)는 제1 노드인 O1 노드와 페어를 형성하는 D1 노드, 또는 제3 노드인 O2 노드와 페어를 형성하는 D2 노드 중에서, 제3 노드인 O2 노드와 가깝게 위치한 D1 노드를 제2 노드로 선택할 수 있다.
주행 경로 생성 장치(2000)는 이동 대상(401)이 제1 노드, 제3 노드 및 제2 노드 순으로 방문하도록 주행 경로를 생성할 수 있다.
또 다른 실시예에서, 이동 대상이 출발지에서 출발하여 다른 출발지, 또는 출발지와 페어된 도착지 중 어느 한 곳을 방문할 수 있다.
도 4(c) 및 도 4(d)를 참조하면, 주행 경로 생성 장치(2000)는 제1 노드의 위치에 기초하여 제1 노드를 제외한 제1 그룹의 나머지 노드들, 그리고 제1 노드와 페어를 형성하는 제2 그룹의 노드 중에서 어느 하나의 노드를 제3 노드로 선택할 수 있다.
또한, 주행 경로 생성 장치(2000)는 제1 그룹의 노드가 제3 노드로 선택된 경우, 제3 노드의 위치에 기초하여 제1 노드 및 제3 노드를 제외한 제1 그룹의 나머지 노드들, 그리고 제1 노드 또는 상기 제3 노드와 페어를 형성하는 제2 그룹의 노드들 중에서 어느 하나의 노드를 제2 노드로 선택할 수 있다.
예를 들어, 제1 그룹에 포함된 O2 노드가 제3 노드로 선택된 경우, 주행 경로 생성 장치(2000)는 제1 그룹의 나머지 노드들인 O3 노드, O1 노드와 페어를 형성하는 D1 노드, 또는 O2 노드와 페어를 형성하는 D2 노드 중에서, O2 노드와 가깝게 위치한 D1 노드를 제2 노드로 선택할 수 있다.
또는, 제2 그룹에 포함된 D1 노드가 제3 노드로 선택된 경우, 주행 경로 생성 장치(2000)는 제1 그룹의 나머지 노드들인 O2 노드와 O3 노드 중에서, D1 노드와 가깝게 위치한 O2 노드를 제2 노드로 선택할 수 있다.
주행 경로 생성 장치(2000)는 이동 대상(401)이 제1 노드, 제3 노드 및 제2 노드 순으로 방문하도록 주행 경로를 생성할 수 있다.
한편, 주행 경로 생성 장치(2000)에서 기획득된 노드들 외에 제1 그룹의 노드 및 제2 그룹의 노드에 대한 위치 정보를 새롭게 획득하는 경우, 생성된 주행 경로를 리셋할 수 있다. 주행 경로 생성 장치(2000)는 기획득된 노드들과 새롭게 획득한 노드들을 모두 고려하여 상술한 방법에 따라 주행 경로를 다시 생성할 수 있다.
도 5는 일 실시예에 따른 할당값을 이용하여 출발지와 목적지를 고려한 주행 경로를 생성하는 방법을 설명하기 위한 예시적인 도면이다.
주행 경로를 생성하기 위한 방법으로서, 제1 그룹의 노드들과 제2 그룹의 노드들에 대한 위치 정보를 획득하는 단계 - 상기 제1 그룹의 노드들과 상기 제2 그룹의 노드들은 페어(pair)를 형성 -; 상기 제1 그룹의 노드들의 할당값을 기준값으로 설정하고, 상기 제2 그룹의 노드들의 할당값을 '기준값 + 1'로 설정하는 단계; 이동 대상의 현재 위치에 기초하여 할당값이 '기준값'인 노드들 중에서 어느 하나의 노드를 제1 노드로 선택하고, 상기 제1 노드를 제외한 상기 제1 그룹의 나머지 노드들의 할당값을 '기준값 + 1'로 업데이트하고, 상기 제1 노드와 페어를 형성하는 노드를 제외한 상기 제2 그룹의 나머지 노드들의 할당값을 '기준값 + 2'로 업데이트하는 단계; 상기 제1 노드의 위치에 기초하여 할당값이 '기준값 + 1'인 노드들 중에서 어느 하나의 노드를 제3 노드로 선택하는 단계; 상기 제1 그룹의 노드가 상기 제3 노드로 선택된 경우, 상기 제1 노드 및 상기 제3 노드를 제외한 상기 제1 그룹의 나머지 노드들의 할당값을 '기준값 + 2'로 업데이트하고, 상기 제1 노드 또는 상기 제3 노드와 페어를 형성하는 상기 제2 그룹의 노드들의 할당값을 '기준값 + 2'로 업데이트하고, 상기 제2 그룹의 나머지 노드들의 할당값을 '기준값 + 3'으로 업데이트하며, 상기 제3 노드의 위치에 기초하여 할당값이 '기준값 + 2'인 노드들 중에서 어느 하나의 노드를 제2 노드로 선택하고, 상기 제2 그룹의 노드가 상기 제3 노드로 선택된 경우, 상기 제3 노드의 위치에 기초하여 할당값이 '기준값 + 1'인 노드들 중에서 어느 하나의 노드를 제2 노드로 선택하는 단계; 및 상기 이동 대상이 상기 제1 노드, 상기 제3 노드 및 상기 제2 노드 순으로 방문하도록 주행 경로를 생성하는 단계;를 포함하는, 방법을 제공할 수 있다.
도 5를 참조하면, 주행 경로 생성 장치(2000)는 지도(500)에 표시되는 복수의 노드들에 대한 위치 정보를 획득할 수 있다. 복수의 노드들은 제1 그룹 및 제2 그룹 중 어느 하나의 그룹에 포함될 수 있다. 제1 그룹에는 출발지에 해당하는 노드가 포함되고, 제2 그룹에는 도착지에 해당하는 노드가 포함될 수 있으나, 각 그룹에 포함되는 노드의 종류는 이에 제한되지 않는다.
도 5(a)를 참조하면, 출발지에 해당하는 O1 노드 내지 O3 노드는 제1 그룹에 포함되고, 도착지에 해당하는 D1 노드 내지 D3 노드는 제2 그룹에 포함될 수 있다. 또한, 제1 그룹의 노드들과 제2 그룹의 노드들은 페어를 형성할 수 있다. 구체적으로, O1 노드와 D1 노드, O2 노드와 D2 노드, 그리고 O3 노드와 D3 노드가 페어를 형성할 수 있다.
주행 경로 생성 장치(2000)는 제1 그룹에 포함되는 노드들의 할당값을 기준값으로 설정하고, 제2 그룹에 포함되는 노드들의 할당값을 '기준값 + 1'로 설정할 수 있다. 도 5(b)를 참조하면, 주행 경로 생성 장치(2000)는 O1 노드 내지 O3 노드의 할당값을 1(기준값)로 설정하고, D1 노드 내지 D3 노드의 할당값을 2로 설정할 수 있다.
주행 경로 생성 장치(2000)는 이동 대상(501)의 현재 위치에 기초하여 할당값이 '기준값'인 노드들 중에서 어느 하나의 노드를 제1 노드로 선택할 수 있다. 도 5(b)를 참조하면, 주행 경로 생성 장치(2000)는 할당값이 1인 O1 노드 내지 O3 노드 중에서, 이동 대상(501)의 현재 위치와 가까운 O1 노드를 제1 노드로 선택할 수 있다.
주행 경로 생성 장치(2000)는 제1 노드를 제외한 상기 제1 그룹의 나머지 노드들의 할당값을 '기준값 + 1'로 업데이트하고, 제1 노드와 페어를 형성하는 노드를 제외한 제2 그룹의 나머지 노드들의 할당값을 '기준값 + 2'로 업데이트할 수 있다. 도 5(c)를 참조하면, 주행 경로 생성 장치(2000)는 O2 노드 및 O3 노드의 할당값을 2로 업데이트하고, D1 노드를 제외한 제2 그룹의 나머지 노드들인 D2 노드 및 D3 노드의 할당값을 3으로 업데이트할 수 있다. D1 노드의 할당값은 2로 유지될 수 있다.
주행 경로 생성 장치(2000)는 제1 노드의 위치에 기초하여 할당값이 '기준값 + 1'인 노드들 중에서 어느 하나의 노드를 제3 노드로 선택할 수 있다. 도 5(c)를 참조하면, 주행 경로 생성 장치(2000)는 할당값이 2인 O2 노드, O3 노드, 그리고 D1 노드 중에서 어느 하나의 노드를 제3 노드로 선택할 수 있다.
일 실시예에서, 제2 그룹의 노드가 제3 노드로 선택 된 경우, 주행 경로 생성 장치(2000)는 제3 노드의 위치에 기초하여 할당값이 '기준값 + 1'인 노드들 중에서 어느 하나의 노드를 제2 노드로 선택할 수 있다. 도 5(d)를 참조하면, D1 노드가 제3 노드로 선택된 경우, 주행 경로 생성 장치(2000)는 할당값이 2인 O2 노드 및 O3 노드 중에서 어느 하나의 노드를 제2 노드로 선택할 수 있다.
다른 실시예에서, 제1 그룹의 노드가 제3 노드로 선택된 경우, 제1 노드 및 제3 노드를 제외한 제1 그룹의 나머지 노드들의 할당값을 '기준값 + 2'로 업데이트하고, 제1 노드 또는 상기 제3 노드와 페어를 형성하는 상기 제2 그룹의 노드들의 할당값을 '기준값 + 2'로 업데이트하고, 제2 그룹의 나머지 노드들의 할당값을 '기준값 + 3'으로 업데이트할 수 있다. 그리고, 제3 노드의 위치에 기초하여 할당값이 '기준값 + 2'인 노드들 중에서 어느 하나의 노드를 제2 노드로 선택할 수 있다.
예를 들어, O2 노드가 제3 노드로 선택된 경우, 주행 경로 생성 장치(2000)는 O1 노드 및 O2 노드를 제외한 제1 그룹의 O3 노드의 할당값을 3으로 업데이트하고, O1 노드와 페어를 형성하는 D1 노드 및 O2 노드와 페어를 형성하는 D2 노드의 할당값을 3으로 업데이트하고, 제2 그룹의 나머지 노드인 D3 노드의 할당값을 4로 업데이트할 수 있다. 주행 경로 생성 장치(2000)는 할당값이 3인 O3 노드, D1 노드 및 D2 노드 중에서 어느 하나의 노드를 제2 노드로 선택할 수 있다.
주행 경로 생성 장치(2000)는 이동 대상(501)이 제1 노드, 제3 노드 및 제2 노드 순으로 방문하도록 주행 경로를 생성할 수 있다.
도 6은 일 실시예에 따른 클러스터링을 이용하여 주행 경로를 생성하는 방법을 설명하기 위한 예시적인 도면이다.
도 6을 참조하면, 주행 경로 생성 장치(2000)는 지도(600)에 표시되는 복수의 노드들에 대한 위치 정보를 획득할 수 있다. 출발지 노드(O1, O2, O3, O4, O5, O6)는 제1 그룹에 포함될 수 있고, 목적지 노드(D1, D2, D3, D4, D5, D6)는 제2 그룹에 포함될 수 있다. 출발지 노드와 목적지 노드 사이에 페어가 형성될 수 있다. 즉, 첫 번째 그룹의 각 노드는 두 번째 그룹의 각 노드와 페어를 형성할 수 있다. 예를 들어, O1 노드와 D1 노드, O2 노드와 D2 노드, O3 노드와 D3 노드, O4 노드와 D4 노드, O5 노드와 D5 노드, 그리고 O6 노드와 D6 노드는 서로 페어를 형성할 수 있다.
또한, 주행 경로 생성 장치(2000)는 k-means++와 같은 클러스터링 알고리즘을 이용하여 페어에 대해 적어도 하나의 클러스터를 생성할 수 있다. 주행 경로 생성 장치(2000)는 각 페어에 대한 출발지와 목적지 사이의 중간 지점(middle point)을 선택하고, 각 클러스터의 센트로이드(centroid) 또는 중심을 계산할 때 중간 지점을 데이터 포인트로 사용할 수 있다. 예를 들어, O1 노드와 D1 노드, O2 노드와 D2 노드, O3 노드와 D3 노드, O4 노드와 D4 노드, O5 노드와 D5 노드, 그리고 O6 노드와 D6 노드 페어 각각에 대한 6개의 중간 지점이 k=2인 클러스터링 알고리즘에 입력되면 3개의 페어 O1 노드와 D1 노드, O2 노드와 D2 노드, O3 노드와 D3 노드는 제1 클러스터(610)로 클러스터링될 수 있고, 또 다른 3개의 페어 O4 노드와 D4 노드, O5 노드와 D5 노드, O6 노드와 D6 노드는 제2 클러스터(620)로 클러스터링될 수 있다.
주행 경로 생성 장치(2000)는 적어도 하나의 클러스터의 모든 노드를 방문하는 주행 경로를 생성할 수 있다. 먼저, 주행 경로 생성 장치(2000)는 각 클러스터의 중심에 대한 이동 대상(601)의 근접도(proximity)에 기초하여 방문할 클러스터의 순서를 결정할 수 있다. 즉, 차량(601)에 가까운 클러스터는 이동 대상(601)에서 멀리 떨어진 다른 클러스터보다 먼저 방문된다. 예를 들어, 도 6에서 이동 대상(601)과 제1 중심(C1) 사이의 거리가 이동 대상(601)과 제2 중심(C2) 사이의 거리보다 짧기 때문에, 주행 경로 생성 장치(2000)는 이동 대상(601)이 먼저 제1 클러스터(610)를 방문한 후 제2 클러스터(620)를 방문하는 것으로 결정할 수 있다. 방문 순서를 결정할 때 거리 대신에 예상 도착 시간(ETA)이 사용될 수도 있다.
다음으로, 주행 경로 생성 장치(2000)는 각 클러스터의 진입 노드 및 출구 노드를 결정할 수 있다. 첫 번째 클러스터의 진입 노드와 마지막 클러스터의 출구 노드를 제외하고, 연속적인 클러스터들의 진입 노드와 출구 노드는 순서에 따른 하나의 클러스터의 목적지 노드와 다른 클러스터의 시작 노드 사이의 근접도에 기초하여 결정될 수 있다.
일 실시예에서, 제1 클러스터의 진입 노드는 차량의 현재 위치에서 가장 가까운 제1 클러스터의 출발 노드를 선택함으로써 결정될 수 있다. 예를 들어, 도 6을 참조하면, 제1 클러스터(610)가 첫 번째 클러스터인 경우, 제1 클러스터(610)의 출발 노드(O1, O2, O3) 중 O1이 제1 클러스터(610)의 진입 노드로 선택될 수 있다. 마지막 클러스터의 출구 노드는 차량의 현재 위치에서 가장 먼 마지막 클러스터의 목적지 노드를 선택하여 결정될 수 있다. 예를 들어, 제2 클러스터(620)가 마지막 클러스터인 경우, 목적지 노드(D4, D5, D6) 중 D6이 제2 클러스터(620)의 출구 노드로 선택될 수 있다.
첫 번째 클러스터의 진입 노드와 마지막 클러스터의 출구 노드가 결정된 후, 적어도 하나의 클러스터 각각에 대한 진입 및 출구 노드는 이들 사이의 거리가 가장 짧은 목적지 노드와 출발 노드가 선택될 수 있다. 예를 들어, 주행 경로 생성 장치(2000)는 클러스터(610)의 D1, D2, D3와 클러스터(620)의 O4, O5, O6 사이의 거리를 측정하고, 제1 클러스터(610)의 D1, D2, D3과 제2 클러스터(620)의 O4, O5, O6 사이의 모든 가능한 조합을 비교한 후, 제1 클러스터(610)의 출구 노드로 D2를, 제2 클러스터(610)의 진입 노드로 O6을 선택할 수 있다.
마지막으로, 도 4 내지 도 5를 참조하여 설명한 방법을 이용하여 각 클러스터에서 방문할 노드의 순서를 결정할 수 있다
도 7은 일 실시예에 따른 주행 경로를 생성하는 방법의 흐름도이다.
도 7에 도시된, 주행 경로를 생성하는 방법은, 앞서 설명된 도면들에서 설명된 실시예들에 관련되므로, 이하 생략된 내용이라 할지라도, 앞서 도면들에서 설명된 내용들은 도 7의 방법에도 적용될 수 있다.
도 7을 참조하면, 단계 710에서 프로세서는 제1 그룹의 노드들과 제2 그룹의 노드들에 대한 위치 정보를 획득할 수 있다.
제1 그룹에는 출발지에 해당하는 노드가 포함되고, 제2 그룹에는 도착지에 해당하는 노드가 포함될 수 있으나, 각 그룹에 포함되는 노드의 종류는 이에 제한되지 않는다.
위치 정보에는 각 노드의 위도, 경도에 대한 정보가 포함될 수 있으나, 이에 제한되지 않는다. 또한, 프로세서는 제1 그룹의 노드들과 제2 그룹의 노드들이 위치한 지역에 대한 교통상황, 도로 등급 등을 획득할 수 있다. 프로세서에서 획득한 상기와 같은 정보들은 추후 TSP 알고리즘을 통해 여러 선택 가능한 노드들 중 어느 하나의 노드를 선택하는데 이용될 수 있다.
단계 720에서 프로세서는 이동 대상의 현재 위치에 기초하여 제1 그룹의 노드들 중 어느 하나의 노드를 제1 노드로 선택할 수 있다.
단계 730에서 프로세서는 제1 노드의 위치에 기초하여 제1 노드를 제외한 제1 그룹의 나머지 노드들, 그리고 제1 노드와 페어를 형성하는 제2 그룹의 노드 중에서 어느 하나의 노드를 제3 노드로 선택할 수 있다.
단계 740에서 프로세서는 제1 그룹의 노드가 제2 노드로 선택되었는지 결정할 수 있다.
제1 그룹의 노드가 제2 노드로 선택된 경우 단계 750으로 진행될 수 있다.
단계 750에서 프로세서는 제3 노드의 위치에 기초하여, 제1 노드 및 제3 노드를 제외한 제1 그룹의 나머지 노드들, 그리고 제1 노드 또는 제3 노드와 페어를 형성하는 제2 그룹의 노드들 중에서 어느 하나의 노드를 제2 노드로 선택할 수 있다.
제2 그룹의 노드가 제2 노드로 선택된 경우 단계 760으로 진행될 수 있다.
단계 760에서 프로세서는 제3 노드의 위치에 기초하여, 제1 노드를 제외한 제1 그룹의 나머지 노드들 중에서 어느 하나의 노드를 제2 노드로 선택할 수 있다.
단계 770에서 프로세서는 이동 대상이 제1 노드, 제3 노드 및 제2 노드 순으로 방문하도록 주행 경로를 생성할 수 있다.
도 8은 일 실시예에 따른 주행 경로를 생성하는 방법의 흐름도이다.
도 8에 도시된, 주행 경로를 생성하는 방법은, 앞서 설명된 도면들에서 설명된 실시예들에 관련되므로, 이하 생략된 내용이라 할지라도, 앞서 도면들에서 설명된 내용들은 도 8의 방법에도 적용될 수 있다.
도 8을 참조하면, 단계 810에서 프로세서는 제1 그룹의 노드들과 제2 그룹의 노드들에 대한 위치 정보를 획득할 수 있다.
단계 820에서 프로세서는 현재 선택된 노드의 위치에 기초하여, 제1 그룹의 노드 중에서 기선택된 노드와 페어를 형성하는 제2 그룹의 노드들, 그리고 선택되지 않은 제1 그룹의 노드들 중에서, 어느 하나의 노드를 다음 방문 노드로 선택할 수 있다.
이하에서, 제1 그룹에 O1 노드 내지 O3 노드가 포함되고, 제2 그룹에 D1 내지 D3 노드가 포함되고, O1 노드와 D1 노드, O2 노드와 D2 노드, 그리고 O3 노드와 D3 노드가 페어를 형성하는 것으로 전제한다.
제1 그룹의 노드들은 출발지 노드이고, 제2 그룹의 노드들은 도착지 노드이므로, 본 발명에서 제2 그룹의 노드는 이와 페어를 형성하는 제1 그룹의 노드가 선택된 후에만 선택될 수 있도록 설계되었다. 또한, 본 발명은 한 번 선택이 완료된 노드가 재선택될 수 없도록 설계되었다.
예를 들어, O1 노드가 기선택된 노드이고, O2 노드가 현재 선택된 노드이며, 다른 노드들은 선택되지 않은 경우를 가정한다. 프로세서는 O1 노드와 페어를 형성하는 D1 노드, O2 노드와 페어를 형성하는 D2 노드, 그리고 아직 선택되지 않은 제1 그룹의 O3 노드 중에서, 어느 하나의 노드를 다음 방문 노드로 선택할 수 있다.
또는, D1 노드가 현재 선택된 노드이고 다른 노드들은 선택되지 않은 경우를 가정한다. 다만, 위에서 설명한 설계 방법에 따라, D1 노드와 페어를 형성하는 O1 노드는 이미 선택된 것을 유추할 수 있다. 프로세서는 아직 선택되지 않은 제1 그룹의 O2 노드 및 O3 노드 중에서, 어느 하나의 노드를 다음 방문 노드로 선택할 수 있다.
한편, 상술한 바와 같이, 여러 선택 가능한 노드들 중 어느 하나의 노드를 선택하는 방법으로는 TSP 알고리즘이 이용될 수 있다.
단계 830에서 프로세서는 이동 대상이 노드의 선택 순서에 따라 노드를 방문하도록 주행 경로를 생성할 수 있다.
예를 들어, O1 노드, D1 노드 및 O2 노드 순으로 선택된 경우, 프로세서는 이동 대상이 O1 노드, D1 노드 및 O2 노드 순으로 방문하도록 주행 경로를 생성할 수 있다.
도 9는 일 실시예에 따른 주행 경로 생성 장치의 블록도이다.
도 9를 참조하면, 주행 경로 생성 장치(900)는 통신부(910), 프로세서(920) 및 DB(930)를 포함할 수 있다. 도 9의 어플리케이션 운영 서버(1000)에는 실시예와 관련된 구성요소들만이 도시되어 있다. 따라서, 도 9에 도시된 구성요소들 외에 다른 범용적인 구성요소들이 더 포함될 수 있음을 당해 기술분야의 통상의 기술자라면 이해할 수 있다.
통신부(910)는 사용자 단말들과 결제 기준 데이터 제공 서버들과 유선/무선 통신을 하게 하는 하나 이상의 구성 요소를 포함할 수 있다. 예를 들어, 통신부(910)는, 근거리 통신부(미도시), 이동 통신부(미도시) 및 방송 수신부(미도시) 중 적어도 하나를 포함할 수 있다.
DB(930)는 주행 경로 생성 장치(1000) 내에서 처리되는 각종 데이터들을 저장하는 하드웨어로서, 프로세서(920)의 처리 및 제어를 위한 프로그램을 저장할 수 있다. DB(930)는 결제 정보, 사용자 정보 등을 저장할 수 있다.
DB(930)는 DRAM(dynamic random access memory), SRAM(static random access memory) 등과 같은 RAM(random access memory), ROM(read-only memory), EEPROM(electrically erasable programmable read-only memory), CD-ROM, 블루레이 또는 다른 광학 디스크 스토리지, HDD(hard disk drive), SSD(solid state drive), 또는 플래시 메모리를 포함할 수 있다.
프로세서(920)는 주행 경로 생성 장치(1000)의 전반적인 동작을 제어한다. 예를 들어, 프로세서(920)는 DB(930)에 저장된 프로그램들을 실행함으로써, 입력부(미도시), 디스플레이(미도시), 통신부(910), DB(930) 등을 전반적으로 제어할 수 있다. 프로세서(920)는, DB(930)에 저장된 프로그램들을 실행함으로써, 주행 경로 생성 장치(1000)의 동작을 제어할 수 있다.
프로세서(920)는 도 1 내지 도 8에서 상술한 어플리케이션의 동작 중 적어도 일부를 제어할 수 있다.
프로세서(920)는 ASICs (application specific integrated circuits), DSPs(digital signal processors), DSPDs(digital signal processing devices), PLDs(programmable logic devices), FPGAs(field programmable gate arrays), 제어기(controllers), 마이크로 컨트롤러(micro-controllers), 마이크로 프로세서(microprocessors), 기타 기능 수행을 위한 전기적 유닛 중 적어도 하나를 이용하여 구현될 수 있다.
본 발명에 따른 실시 예는 컴퓨터 상에서 다양한 구성요소를 통하여 실행될 수 있는 컴퓨터 프로그램의 형태로 구현될 수 있으며, 이와 같은 컴퓨터 프로그램은 컴퓨터로 판독 가능한 매체에 기록될 수 있다. 이때, 매체는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM 및 DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical medium), 및 ROM, RAM, 플래시 메모리 등과 같은, 프로그램 명령어를 저장하고 실행하도록 특별히 구성된 하드웨어 장치를 포함할 수 있다.
한편, 상기 컴퓨터 프로그램은 본 발명을 위하여 특별히 설계되고 구성된 것이거나 컴퓨터 소프트웨어 분야의 당업자에게 공지되어 사용 가능한 것일 수 있다. 컴퓨터 프로그램의 예에는, 컴파일러에 의하여 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용하여 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드도 포함될 수 있다.
일 실시예에 따르면, 본 개시의 다양한 실시예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory (CD-ROM))의 형태로 배포되거나, 또는 어플리케이션 스토어(예: 플레이 스토어TM)를 통해 또는 두 개의 사용자 장치들 간에 직접, 온라인으로 배포(예: 다운로드 또는 업로드)될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 기기로 읽을 수 있는 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.
본 발명에 따른 방법을 구성하는 단계들에 대하여 명백하게 순서를 기재하거나 반하는 기재가 없다면, 상기 단계들은 적당한 순서로 행해질 수 있다. 반드시 상기 단계들의 기재 순서에 따라 본 발명이 한정되는 것은 아니다. 본 발명에서 모든 예들 또는 예시적인 용어(예들 들어, 등등)의 사용은 단순히 본 발명을 상세히 설명하기 위한 것으로서 특허청구범위에 의해 한정되지 않는 이상 상기 예들 또는 예시적인 용어로 인해 본 발명의 범위가 한정되는 것은 아니다. 또한, 당업자는 다양한 수정, 조합 및 변경이 부가된 특허청구범위 또는 그 균등물의 범주 내에서 설계 조건 및 팩터에 따라 구성될 수 있음을 알 수 있다.
따라서, 본 발명의 사상은 상기 설명된 실시 예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등한 또는 이로부터 등가적으로 변경된 모든 범위는 본 발명의 사상의 범주에 속한다고 할 것이다.
Claims (9)
- 주행 경로를 생성하기 위한 방법으로서,제1 그룹의 노드들과 제2 그룹의 노드들에 대한 위치 정보를 획득하는 단계 - 상기 제1 그룹의 노드들과 상기 제2 그룹의 노드들은 페어(pair)를 형성 -;이동 대상의 현재 위치에 기초하여 상기 제1 그룹의 노드들 중 어느 하나의 노드를 제1 노드로 선택하는 단계;상기 제2 그룹의 노드들 중에서 상기 제1 노드와 페어를 형성하는 노드를 제2 노드로 선택하는 단계; 및상기 이동 대상이 상기 제1 노드 및 상기 제2 노드 순으로 방문하도록 주행 경로를 생성하는 단계;를 포함하는, 방법.
- 제 1 항에 있어서,상기 방법은,상기 제1 노드의 위치에 기초하여 상기 제1 노드를 제외한 상기 제1 그룹의 나머지 노드들 중 어느 하나의 노드를 제3 노드로 선택하는 단계;를 더 포함하고,상기 제2 노드로 선택하는 단계는,상기 제3 노드의 위치에 기초하여 상기 제2 그룹의 노드들 중에서 상기 제1 노드 또는 상기 제3 노드와 페어를 형성하는 어느 하나의 노드를 상기 제2 노드로 선택하는 단계;를 포함하고,상기 주행 경로를 생성하는 단계는,상기 이동 대상이 상기 제1 노드, 상기 제3 노드 및 상기 제2 노드 순으로 방문하도록 주행 경로를 생성하는 단계;를 포함하는, 방법.
- 제 1 항에 있어서,상기 방법은,상기 제1 노드의 위치에 기초하여 상기 제1 노드를 제외한 상기 제1 그룹의 나머지 노드들, 그리고 상기 제1 노드와 페어를 형성하는 상기 제2 그룹의 노드 중에서 어느 하나의 노드를 제3 노드로 선택하는 단계;를 더 포함하고,상기 제2 노드로 선택하는 단계는,상기 제1 그룹의 노드가 상기 제3 노드로 선택된 경우, 상기 제3 노드의 위치에 기초하여, 상기 제1 노드 및 상기 제3 노드를 제외한 상기 제1 그룹의 나머지 노드들, 그리고 상기 제1 노드 또는 상기 제3 노드와 페어를 형성하는 상기 제2 그룹의 노드들 중에서 어느 하나의 노드를 상기 제2 노드로 선택하고,상기 제2 그룹의 노드가 상기 제3 노드로 선택된 경우, 상기 제3 노드의 위치에 기초하여, 상기 제1 노드를 제외한 상기 제1 그룹의 나머지 노드들 중에서 어느 하나의 노드를 상기 제2 노드로 선택하는 단계; 및상기 이동 대상이 상기 제1 노드, 상기 제3 노드 및 상기 제2 노드 순으로 방문하도록 주행 경로를 생성하는 단계;를 포함하는, 방법.
- 제 1 항에 있어서,상기 방법은,제3 그룹의 노드들과 제4 그룹의 노드들에 대한 위치 정보를 획득하는 단계 - 상기 제3 그룹의 노드들과 상기 제4 그룹의 노드들은 페어를 형성 -;상기 제1 그룹의 노드들과 상기 제2 그룹의 노드들을 클러스터링(clustering)하여 제1 클러스터를 생성하고, 상기 제3 그룹의 노드들과 상기 제4 그룹의 노드들을 클러스터링하여 제2 클러스터를 생성하는 단계;상기 이동 대상이 상기 제1 클러스터에 포함된 노드들을 순차적으로 방문하도록 제1 주행 경로를 생성하고, 상기 이동 대상이 상기 제2 클러스터에 포함된 노드들을 순차적으로 방문하도록 제2 주행 경로를 생성하는 단계; 및상기 제1 주행 경로와 상기 제2 주행 경로를 연결하여 최종 주행 경로를 생성하는 단계;를 포함하는, 방법.
- 제 4 항에 있어서,상기 제1 주행 경로 및 제2 주행 경로를 생성하는 단계는,상기 제1 클러스터 내 상기 이동 대상의 마지막 방문 노드와, 상기 제2 클러스터 내 상기 이동 대상의 첫번째 방문 노드 간의 이동 거리에 기초하여, 상기 제1 주행 경로 및 상기 제2 주행 경로를 생성하는 단계;를 포함하는, 방법.
- 제 1 항에 있어서,상기 방법은,상기 제1 그룹의 노드 및 상기 제2 그룹의 노드가 새롭게 추가되는 경우, 상기 생성된 주행 경로를 리셋하는 단계;를 더 포함하는, 방법.
- 주행 경로를 생성하기 위한 방법으로서,제1 그룹의 노드들과 제2 그룹의 노드들에 대한 위치 정보를 획득하는 단계 - 상기 제1 그룹의 노드들과 상기 제2 그룹의 노드들은 페어(pair)를 형성 -;현재 선택된 노드의 위치에 기초하여, 상기 제1 그룹의 노드 중에서 기선택된 노드와 페어를 형성하는 상기 제2 그룹의 노드들, 그리고 선택되지 않은 상기 제1 그룹의 노드들 중에서, 어느 하나의 노드를 다음 방문 노드로 선택하는 단계; 및상기 이동 대상이 노드의 선택 순서에 따라 노드를 방문하도록 주행 경로를 생성하는 단계;를 포함하는, 방법.
- 주행 경로를 생성하기 위한 장치에 있어서,적어도 하나의 프로그램이 저장된 메모리; 및상기 적어도 하나의 프로그램을 실행함으로써 연산을 수행하는 프로세서를 포함하고,상기 프로세서는,제1 그룹의 노드들과 제2 그룹의 노드들에 대한 위치 정보를 획득하는 단계 - 상기 제1 그룹의 노드들과 상기 제2 그룹의 노드들은 페어(pair)를 형성 -;이동 대상의 현재 위치에 기초하여 상기 제1 그룹의 노드들 중 어느 하나의 노드를 제1 노드로 선택하는 단계;상기 제2 그룹의 노드들 중에서 상기 제1 노드와 페어를 형성하는 노드를 제2 노드로 선택하는 단계; 및상기 이동 대상이 상기 제1 노드 및 상기 제2 노드 순으로 방문하도록 주행 경로를 생성하는 단계;를 수행하는 것인, 장치.
- 제 1 항의 방법을 컴퓨터에서 실행하기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2023540527A JP2024503345A (ja) | 2020-12-31 | 2021-12-31 | 出発地-到着地関係を考慮した走行経路を生成するための方法及び装置 |
DE112021006733.8T DE112021006733T5 (de) | 2020-12-31 | 2021-12-31 | Verfahren und vorrichtung zur erzeugung einer fahrtroute unter berücksichtigung einer abfahrtsort-ankunftsort-beziehung |
US17/815,641 US20220364869A1 (en) | 2020-12-31 | 2022-07-28 | Method and apparatus for generating a driving route based on origin-destination relationship |
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR20200189734 | 2020-12-31 | ||
KR10-2020-0189734 | 2020-12-31 | ||
KR10-2021-0193056 | 2021-12-30 | ||
KR1020210193056A KR20220097336A (ko) | 2020-12-31 | 2021-12-30 | 출발지-도착지 관계를 고려한 주행 경로를 생성하기 위한 방법 및 장치 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US17/815,641 Continuation US20220364869A1 (en) | 2020-12-31 | 2022-07-28 | Method and apparatus for generating a driving route based on origin-destination relationship |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2022146095A1 true WO2022146095A1 (ko) | 2022-07-07 |
Family
ID=82259543
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/KR2021/020336 WO2022146095A1 (ko) | 2020-12-31 | 2021-12-31 | 출발지-도착지 관계를 고려한 주행 경로를 생성하기 위한 방법 및 장치 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20220364869A1 (ko) |
JP (1) | JP2024503345A (ko) |
DE (1) | DE112021006733T5 (ko) |
WO (1) | WO2022146095A1 (ko) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5036471A (en) * | 1989-04-18 | 1991-07-30 | Sanyo Electric Co., Ltd. | Apparatus for road path searching applicable to car navigation system and operation method thereof |
JPH07294267A (ja) * | 1994-04-28 | 1995-11-10 | Pioneer Electron Corp | 経路設定方法及び経路設定装置 |
JP2013083588A (ja) * | 2011-10-12 | 2013-05-09 | Clarion Co Ltd | 経路探索装置、経路探索方法 |
KR101633040B1 (ko) * | 2014-09-30 | 2016-06-23 | 주식회사 포워드벤처스 | 배송 경로 산출 방법 및 이를 실행하기 위한 프로그램이 기록되어 있는 컴퓨터 판독 가능한 기록매체 |
KR101896993B1 (ko) * | 2016-06-08 | 2018-09-11 | 아주대학교산학협력단 | 이동체의 경로 결정 방법 및 장치 |
-
2021
- 2021-12-31 JP JP2023540527A patent/JP2024503345A/ja active Pending
- 2021-12-31 WO PCT/KR2021/020336 patent/WO2022146095A1/ko active Application Filing
- 2021-12-31 DE DE112021006733.8T patent/DE112021006733T5/de active Pending
-
2022
- 2022-07-28 US US17/815,641 patent/US20220364869A1/en active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5036471A (en) * | 1989-04-18 | 1991-07-30 | Sanyo Electric Co., Ltd. | Apparatus for road path searching applicable to car navigation system and operation method thereof |
JPH07294267A (ja) * | 1994-04-28 | 1995-11-10 | Pioneer Electron Corp | 経路設定方法及び経路設定装置 |
JP2013083588A (ja) * | 2011-10-12 | 2013-05-09 | Clarion Co Ltd | 経路探索装置、経路探索方法 |
KR101633040B1 (ko) * | 2014-09-30 | 2016-06-23 | 주식회사 포워드벤처스 | 배송 경로 산출 방법 및 이를 실행하기 위한 프로그램이 기록되어 있는 컴퓨터 판독 가능한 기록매체 |
KR101896993B1 (ko) * | 2016-06-08 | 2018-09-11 | 아주대학교산학협력단 | 이동체의 경로 결정 방법 및 장치 |
Also Published As
Publication number | Publication date |
---|---|
DE112021006733T5 (de) | 2023-10-12 |
JP2024503345A (ja) | 2024-01-25 |
US20220364869A1 (en) | 2022-11-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2014027785A1 (en) | Schedule management method, schedule management server, and mobile terminal using the method | |
WO2014030976A1 (en) | Method and mobile terminal for providing transport service information, method and server for managing transport service, and method and vehicle for providing transport service | |
WO2014038809A1 (ko) | 전자기기 및 그것의 제어방법 | |
WO2014189200A1 (ko) | 영상표시장치 및 영상표시장치의 동작방법 | |
WO2009125916A1 (ko) | 차량의 조향방법 및 그 장치 | |
WO2020189977A1 (ko) | 동적 지오펜싱을 위한 전자 장치 및 방법 | |
WO2019143129A1 (ko) | 로봇 청소기 및 그 제어 방법 | |
WO2016186355A1 (ko) | 디스플레이장치 및 이의 동작 방법 | |
WO2014030960A1 (en) | Method and system for providing information by using store terminal | |
WO2020138826A1 (ko) | 모빌리티 서비스에서의 기사 및 승객의 상호매칭 시스템, 및 방법 | |
WO2020101443A1 (en) | Method for controlling display of vehicle and electronic device therefor | |
WO2015190755A1 (ko) | 네비게이션 장치의 지도 데이터 제공 방법 및 시스템 | |
WO2020138760A1 (ko) | 전자 장치 및 그의 제어 방법 | |
WO2024005306A1 (ko) | 전기차 충전소를 포함하는 드라이브 경로 자동 생성 시스템 및 그 방법 | |
WO2021096195A1 (ko) | 메시지 기반의 영상 처리 방법 및 이를 구현하는 전자 장치 | |
WO2021261960A1 (ko) | 차량에 탑재된 밀리미터 파 통신 디바이스 및 밀리미터 파 통신 디바이스의 스위칭 방법 | |
WO2014142532A1 (en) | Information delivery system with advertising mechanism and method of operation thereof | |
WO2013089379A1 (en) | System and method for providing navigation information based on an operating mode | |
WO2022146095A1 (ko) | 출발지-도착지 관계를 고려한 주행 경로를 생성하기 위한 방법 및 장치 | |
WO2013094865A1 (ko) | 경로 계산 방법, 경로 획득 방법 또는 이를 위한 단말 | |
WO2020256169A1 (ko) | 인공 지능을 이용하여, 안내 서비스를 제공하는 로봇 및 그의 동작 방법 | |
WO2012118320A2 (ko) | 전자 기기 및 전자 기기의 제어 방법 | |
WO2024117539A1 (ko) | 장애물을 고려한 드론의 최적 경로 계획 장치 및 방법 | |
EP3639584A1 (en) | Method and apparatus for determining location by using identification information corresponding to external electronic device | |
WO2018097664A1 (ko) | 경로 안내를 위한 장치, 방법, 컴퓨터 프로그램 및 컴퓨터 판독 가능한 기록 매체 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 21915892 Country of ref document: EP Kind code of ref document: A1 |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2023540527 Country of ref document: JP |
|
WWE | Wipo information: entry into national phase |
Ref document number: 112021006733 Country of ref document: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 21915892 Country of ref document: EP Kind code of ref document: A1 |