An example embodiment relates generally to a method and associated apparatus and computer program product for providing dynamic route guidance and, more particularly, to a method and associated apparatus and computer program product for providing alternative route mapping in real-time.
Traditionally, route guidance is typically predicated on the fastest route to a destination. In navigation systems, one of the biggest challenges is the lack of flexibility in route choice. Most navigation systems select just one route or at most a few routes and expect the users to drive on those routes without diverging from said routes. Lack of flexibility in route guidance requires drivers or autonomous vehicles to follow along a route without regard for safety or scenery. For example, on multi-lane roads, a vehicle in the far-left lane may not be able to safely get to an exit on the right and these types of situations are not accounted for using traditional route guidance techniques.
A method, apparatus, and computer program product are provided in accordance with an example embodiment in order to dynamically update route guidance for a vehicle. In an example embodiment, the method for dynamically updating route guidance for a vehicle is provided. The method includes receiving an arrival tolerance indicator for a trip. The arrival tolerance indicator includes an arrival tolerance. The method also includes generating a projected route based on a fastest trip route calculated based on a beginning position of the trip and a destination of the trip. The method further includes calculating an alternative route for each of at least one alternative roadway as the vehicle approaches an intersection. The method still further includes creating a signal relating to at least one alternative route within the arrival tolerance in an instance at least one alternative route is within the arrival tolerance.
In some embodiments, the method also includes altering the projected route of the vehicle to one of the alternative routes within the arrival tolerance in response to the signal. In some embodiments, the signal to alter the projected route of the vehicle is provided to a user interface. In some embodiments, the method also includes providing the projected route and at least one alternative routes to a user interface. In some embodiments, the arrival tolerance indicator includes at least one of a total travel time to destination or a target arrival time. In some embodiments, the arrival tolerance indicator is received from a user. In some embodiments, an alternative route is within the arrival tolerance in an instance the increase in the total time of travel to destination over the projected route is less than the arrival tolerance.
In another example embodiment, an apparatus is provided for dynamically updating route guidance for a vehicle. The apparatus includes at least one processor and at least one non-transitory memory including computer program code instructions, the computer program code instructions configured to, when executed, cause the apparatus to receive an arrival tolerance indicator for a trip. The computer program code instructions are also configured to, when executed, cause the apparatus to generate a projected route based on a fastest trip route calculated based on a beginning position of the trip and a destination of the trip. The computer program code instructions are further configured to, when executed, cause the apparatus to calculate an alternative route for each of at least one alternative roadway as the vehicle approaches an intersection. The computer program code instructions are still further configured to, when executed, cause the apparatus to create a signal relating to at least one alternative route within the arrival tolerance in an instance at least one alternative route is within the arrival tolerance.
In some embodiments, the computer program code instructions are also configured to, when executed, cause the apparatus to alter the projected route of the vehicle to one of the alternative routes within the arrival tolerance in response to the signal. In some embodiments, the signal to alter the projected route of the vehicle is provided to a driver of the vehicle. In some embodiments, the computer program code instructions are also configured to, when executed, cause the apparatus to provide the projected route and at least one alternative routes to a user interface. In some embodiments, the arrival tolerance indicator includes at least one of a total travel time to destination or a target arrival time. In some embodiments, the arrival tolerance indicator is received from a user. In some embodiments, an alternative route is within the arrival tolerance in an instance the increase in the total time of travel to destination over the projected route is less than the arrival tolerance.
In still another example embodiment, a computer program product is provided. The computer program product includes at least one non-transitory computer-readable storage medium having computer-executable program code portions stored therein, the computer-executable program code portions including program code instructions configured to receive an arrival tolerance indicator for a trip. The computer-executable program code portions also include program code instructions configured to generate a projected route based on a fastest trip route calculated based on a beginning position of the trip and a destination of the trip. The computer-executable program code portions further include program code instructions configured to calculate an alternative route for each of at least one alternative roadway as the vehicle approaches an intersection. The computer-executable program code portions still further include program code instructions configured to create a signal relating to at least one alternative route within the arrival tolerance in an instance at least one alternative route is within the arrival tolerance.
In some embodiments, the program code instructions are further configured to alter the projected route of the vehicle to one of the alternative routes within the arrival tolerance in response to the signal. In some embodiments, the signal to alter the projected route of the vehicle is provided to a driver of the vehicle. In some embodiments, the program code instructions are further configured to provide the projected route and at least one alternative routes to a user interface. In some embodiments, the arrival tolerance indicator is received from a user and the arrival tolerance indicator includes at least one of a total travel time to destination or a target arrival time. In some embodiments, an alternative route is within the arrival tolerance in an instance the increase in the total time of travel to destination over the projected route is less than the arrival tolerance.
In still another example embodiment, an apparatus for dynamically updating route guidance for a vehicle is provided. The apparatus includes means for receiving an arrival tolerance indicator for a trip. The arrival tolerance indicator includes an arrival tolerance. The apparatus also includes means for generating a projected route based on a fastest trip route calculated based on a beginning position of the trip and a destination of the trip. The apparatus further includes means for calculating an alternative route for each of at least one alternative roadway as the vehicle approaches an intersection. The apparatus still further includes means for creating a signal relating to at least one alternative route within the arrival tolerance in an instance at least one alternative route is within the arrival tolerance.
In some embodiments, the apparatus also includes means for altering the projected route of the vehicle to one of the alternative routes within the arrival tolerance in response to the signal. In some embodiments, the signal to alter the projected route of the vehicle is provided to a user interface. In some embodiments, the apparatus also includes means for providing the projected route and at least one alternative routes to a user interface. In some embodiments, the arrival tolerance indicator includes at least one of a total travel time to destination or a target arrival time. In some embodiments, the arrival tolerance indicator is received from a user. In some embodiments, an alternative route is within the arrival tolerance in an instance the increase in the total time of travel to destination over the projected route is less than the arrival tolerance.
The above summary is provided merely for purposes of summarizing some example embodiments to provide a basic understanding of some aspects of the disclosure. Accordingly, it will be appreciated that the above-described embodiments are merely examples and should not be construed to narrow the scope or spirit of the disclosure in any way. It will be appreciated that the scope of the disclosure encompasses many potential embodiments in addition to those here summarized, some of which will be further described below.
Having thus described certain example embodiments of the present disclosure in general terms, reference will hereinafter be made to the accompanying drawings, which are not necessarily drawn to scale, and wherein:
Some embodiments will now be described more fully hereinafter with reference to the accompanying drawings, in which some, but not all, embodiments are shown. Indeed, various embodiments may be embodied in many different forms and should not be construed as limited to the embodiments set forth herein; rather, these embodiments are provided so that this disclosure will satisfy applicable legal requirements. Like reference numerals refer to like elements throughout. As used herein, the terms “data,” “content,” “information,” and similar terms may be used interchangeably to refer to data capable of being transmitted, received and/or stored in accordance with embodiments of the present disclosure. Thus, use of any such terms should not be taken to limit the spirit and scope of embodiments of the present disclosure.
A method, apparatus, and computer program product are provided in accordance with an example embodiment of the present disclosure for dynamically updating route guidance for a vehicle. In an example embodiment, the method, apparatus, and computer program are provided for facilitating autonomous and semi-autonomous route guidance. Embodiments of the present disclosure allow for a flexible, more robust routing system to provide alternate routes during operations before taking the route itself. Various embodiments allow for autonomous vehicles and/or drivers to know various optional routes that leads them to the same destination within the a given arrival tolerance. Although described in conjunction with autonomous and semi-autonomous vehicles, the method, apparatus, and computer program product of an example embodiment may also be utilized in conjunction with manually-driven vehicles.
Optionally, the apparatus may be embodied by or associated with a plurality of computing devices that are in communication with or otherwise networked with one another such that the various functions performed by the apparatus may be divided between the plurality of computing devices that operate in collaboration with one another.
The apparatus 10 may include, be associated with, or may otherwise be in communication with a processing circuitry 12, which includes a processor 14 and a memory device 16, a communication interface 20, a user interface 22, and one or more sensors 24. In some embodiments, the processor 14 (and/or co-processors or any other processing circuitry assisting or otherwise associated with the processor) may be in communication with the memory device 16 via a bus for passing information among components of the apparatus. The memory device 16 may be non-transitory and may include, for example, one or more volatile and/or non-volatile memories. In other words, for example, the memory device 16 may be an electronic storage device (for example, a computer readable storage medium) comprising gates configured to store data (for example, bits) that may be retrievable by a machine (for example, a computing device like the processor). The memory device may be configured to store information, data, content, applications, instructions, or the like for enabling the apparatus to carry out various functions in accordance with an example embodiment of the present disclosure. For example, the memory device could be configured to buffer input data for processing by the processor. Additionally or alternatively, the memory device could be configured to store instructions for execution by the processor.
The processor 14 may be embodied in a number of different ways. For example, the processor 14 may be embodied as one or more of various hardware processing means such as a coprocessor, a microprocessor, a controller, a digital signal processor (DSP), a processing element with or without an accompanying DSP, or various other processing circuitry including integrated circuits such as, for example, an ASIC (application specific integrated circuit), an FPGA (field programmable gate array), a microcontroller unit (MCU), a hardware accelerator, a special-purpose computer chip, or the like. As such, in some embodiments, the processor may include one or more processing cores configured to perform independently. A multi-core processor may enable multiprocessing within a single physical package. Additionally or alternatively, the processor may include one or more processors configured in tandem via the bus to enable independent execution of instructions, pipelining and/or multithreading.
In an example embodiment, the processor 14 may be configured to execute instructions stored in the memory device 16 or otherwise accessible to the processor. Alternatively or additionally, the processor may be configured to execute hard coded functionality. As such, whether configured by hardware or software methods, or by a combination thereof, the processor may represent an entity (for example, physically embodied in circuitry) capable of performing operations according to an embodiment of the present disclosure while configured accordingly. Thus, for example, when the processor is embodied as an ASIC, FPGA or the like, the processor may be specifically configured hardware for conducting the operations described herein. Alternatively, as another example, when the processor is embodied as an executor of software instructions, the instructions may specifically configure the processor to perform the algorithms and/or operations described herein when the instructions are executed. However, in some cases, the processor may be a processor of a specific device (for example, the computing device) configured to employ an embodiment of the present disclosure by further configuration of the processor by instructions for performing the algorithms and/or operations described herein. The processor may include, among other things, a clock, an arithmetic logic unit (ALU) and logic gates configured to support operation of the processor.
The apparatus 10 of an example embodiment may also include or otherwise be in communication with a user interface 22. The user interface may include a touch screen display, a speaker, physical buttons, and/or other input/output mechanisms. In an example embodiment, the processor 14 may comprise user interface circuitry configured to control at least some functions of one or more input/output mechanisms. The processor and/or user interface circuitry comprising the processor may be configured to control one or more functions of one or more input/output mechanisms through computer program instructions (for example, software and/or firmware) stored on a memory accessible to the processor (for example, memory device 16, and/or the like). The user interface may be embodied in the same housing as the processing circuitry, such as in a navigation system.
The apparatus 10 of an example embodiment may also optionally include a communication interface 20 that may be any means such as a device or circuitry embodied in either hardware or a combination of hardware and software that is configured to receive and/or transmit data from/to other electronic devices in communication with the apparatus, such as by near field communication (NFC) or other proximity-based techniques. Additionally or alternatively, the communication interface may be configured to communicate via cellular or other wireless protocols including Global System for Mobile Communications (GSM), such as but not limited to Long Term Evolution (LTE). In this regard, the communication interface may include, for example, an antenna (or multiple antennas) and supporting hardware and/or software for enabling communications with a wireless communication network. Additionally or alternatively, the communication interface may include the circuitry for interacting with the antenna(s) to cause transmission of signals via the antenna(s) or to handle receipt of signals received via the antenna(s). In some environments, the communication interface may alternatively or also support wired communication for vehicle to vehicle or vehicle to infrastructure wireless links. In example embodiments, the communication interface 20 may receive and transmit lane data for one or more lanes from a traffic service provider (TSP). For example, communication interface 20 may receive lane data for an HOV lane near the vehicle (e.g., an adjacent lane).
The apparatus 10 may be equipped, or otherwise in communication with one or more sensors 24, such as a global positioning system (GPS), accelerometer, image sensor/camera, LiDAR (Light Distancing and Ranging) sensor, radar, and/or gyroscope. Any of the sensors may be used to sense information regarding the movement, positioning, or conditions of the vehicle and/or surroundings. For example, a sensor, or set of sensors, may be used to distance between vehicles on a road. In some example embodiments, such sensors may be implemented in a vehicle or other remote apparatus, and the information detected may be transmitted to the apparatus 10, such as by near field communication (NFC) including, but not limited to, Bluetooth™ communication, or the like. In some embodiments, the sensory circuitry may be connected, at least in part, by a wired connection. In various embodiments, the sensor(s) 24 may be carried by a vehicle.
Autonomous driving has become a focus of recent technology with recent advances in machine learning, computer vision, and computing power able to conduct real-time sensing of a vehicle's condition and environment. With both autonomous and non-autonomous vehicles, route guidance based on methods other than fastest time to destination may be difficult as other factors, such as safety, may be difficult to calculate for a route. In this regard, a route guidance using dynamic updating in combination with an arrival tolerance allows for other factors to be considered beyond the traditional “fastest” route to destination.
Referring now to
As shown in block 200 of
In some embodiments, the apparatus 10 may include means, such as the communication interface 20, for receiving a standard arrival tolerance indicator. For example, the standard arrival tolerance may be zero. In some embodiments, the apparatus 10 includes means, such as the memory device 16, for storing the standard arrival tolerance indicator. In some embodiments, the apparatus 10 may allow for a standard arrival tolerance to be set by a user and/or a manufacturer. For example, in an instance the user does not input an arrival tolerance for a specific trip, the apparatus 10 may use the standard arrival tolerance as the arrival tolerance for the trip.
Referring now to Block 210 of
Referring now to Block 220 of
Referring now to Block 230 of
In some embodiments, for semi-autonomous or non-autonomous, manually-operated vehicles, the signal may be configured to cause a message to be communicated to the driver of the vehicle. The message may be provided in various forms and may notify the driver of the merging information. In various embodiments, the message may be audible and/or visual. In some embodiments, the message may be communicated through pre-existing interfaces, such as a navigation system, infotainment system, or a speaker system. In some embodiments, such as shown in
Referring now to
Referring now to
In various embodiments, the updated arrival tolerance may be used as the arrival tolerance in subsequent determinations along a trip. For example, in an instance a subsequent alternative route may add 20 minutes to the route and the updated arrival tolerance is 16 minutes as in the example above, the alternative route would be out of the arrival tolerance. As shown, the operations discussed herein may be performed at each subsequent intersection along the alternative route 305 (e.g., for alternative roadway 315 at node 12, alternative roadways 325 and 335 at node 7). In some embodiments, the alternative route (e.g., route 305) may overlap with the original projected route (e.g., route 305). In various embodiments, the operations discussed herein may only be performed at or near an intersection (e.g., node) for that specific intersection. (e.g., the alternative routes may not all be calculated at the beginning of the trip).
Referring now to
In an example embodiment, the driver and/or autonomous vehicle processor may use the information to determine whether to take an alternative route. In some embodiments, the determination of whether the alternative route is within the arrival tolerance may be performed at or near the intersection for which the alternative route may be taken. As such, the markers (e.g., 400, 410, 420, and 430) may not be presented until the vehicle 310 approaches the intersection. For example, in an instance the vehicle 310 approaches intersection 440, the markers 400 and 410 may be displayed to indicate the applicability of a given alternative route. In such an example, markers 420 and 430 may not be shown until the vehicle 310 approaches the intersection including the given alternative roadway. In various embodiments, the user interface 22 may display the information relating to alternative routes in different ways. In some embodiments, such as autonomous vehicles, the information relating to the alternative routes may be used by the processor to determine whether to take an alternative route and may not provide the information to the user.
Referring now to
As shown, roadway L1 may have three lanes (Lane 1, Lane 2, and Lane 3). Additionally, L6 is a potential roadway along the left side of roadway L1 (e.g., an exit to the left on an interstate), L4 is a potential roadway continuing straight (e.g., continuing along an interstate), and L3 is a potential roadway along the right side of the roadway (e.g., an exit to the right on an interstate). Referring now to
Various embodiments of methods, apparatuses, and computer program products are provided in accordance with an example embodiment of the present disclosure for dynamically updating route guidance for a vehicle. In an example embodiment, the method, apparatus, and computer program are provided for facilitating autonomous and semi-autonomous route guidance. Embodiments of the present disclosure allow for a flexible, more robust routing system to provide alternate routes during operations before taking the route itself. Various embodiments allow for autonomous vehicles and/or drivers to know various optional routes that leads them to the same destination within the a given arrival tolerance. Although described in conjunction with autonomous and semi-autonomous vehicles, the method, apparatus, and computer program product of an example embodiment may also be utilized in conjunction with manually-driven vehicles.
As described above,
Accordingly, blocks of the flowchart support combinations of means for performing the specified functions and combinations of operations for performing the specified functions for performing the specified functions. It will also be understood that one or more blocks of the flowchart, and combinations of blocks in the flowchart, can be implemented by special purpose hardware-based computer systems which perform the specified functions, or combinations of special purpose hardware and computer instructions.
In some embodiments, certain ones of the operations above may be modified or further amplified. Furthermore, in some embodiments, additional optional operations may be included. Modifications, additions, or amplifications to the operations above may be performed in any order and in any combination.
Many modifications and other embodiments of the disclosures set forth herein will come to mind to one skilled in the art to which these disclosures pertain having the benefit of the teachings presented in the foregoing descriptions and the associated drawings. Therefore, it is to be understood that the disclosures are not to be limited to the specific embodiments disclosed and that modifications and other embodiments are intended to be included within the scope of the appended claims. Moreover, although the foregoing descriptions and the associated drawings describe example embodiments in the context of certain example combinations of elements and/or functions, it should be appreciated that different combinations of elements and/or functions may be provided by alternative embodiments without departing from the scope of the appended claims. In this regard, for example, different combinations of elements and/or functions than those explicitly described above are also contemplated as may be set forth in some of the appended claims. Although specific terms are employed herein, they are used in a generic and descriptive sense only and not for purposes of limitation.