Automatic simplification of driving routes based on driving scenarios
The method and system create driving scenarios on geographic maps with adjustable settings to generate efficient routes that adapt to changing conditions, addressing the challenge of generating optimal driving routes in varying scenarios.
Patent Information
- Application Number
- JP2022558018
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2020-03-27
- Filing Date
- 2021-03-10
- Publication Date
- 2024-12-13
- Estimated Expiration
- 2041-03-10
AI Technical Summary
Existing technologies struggle to generate optimal driving routes that adapt to various driving scenarios, such as time of day, weather conditions, and traffic events, without modifying the underlying map structure.
A method and system that allows for the creation of driving scenarios on a geographic map with designated driving areas, curve entry settings, and maneuver settings, which can be dynamically updated based on real-time conditions, enabling the generation of efficient driving routes.
Enables the generation of efficient and adaptive driving routes that account for changing conditions, ensuring safe and timely arrival at destinations by dynamically adjusting to scenarios like weather and traffic events.
Smart Images

Figure 0007599226000001 
Figure 0007599226000002 
Figure 0007599226000003
Abstract
Description
[Technical field]
[0001] CROSS-REFERENCE TO RELATED APPLICATIONS This patent application completes and claims priority to U.S. Provisional Patent Application No. 63 / 000,765, entitled “AUTOMATICALLY FACILITATING TRAVEL ROUTES BASED UPON TRAVEL SCENARIOS,” filed March 27, 2020, the entirety of which is incorporated herein by reference.
[0002] The present disclosure relates generally to vehicle navigation, and more particularly to automatically simplifying a driving path based on at least one driving scenario. [Background technology]
[0003] Mobile objects include movable objects such as vehicles (e.g., cars, trucks, buses, and trolleys) or mobile devices, including handheld devices and wireless communication devices. Mobile objects such as buses or trucks may be used to provide services such as transporting people, products, or other cargo. Such mobile objects are also often used to travel specific travel routes. For example, a vehicle may frequently travel a route that follows a desired schedule for picking up or dropping off passengers or cargo. Generating optimal travel routes for a vehicle or other mobile object can be a challenging problem. [Prior art documents] [Patent documents]
[0004] [Patent Document 1] US Patent Application Publication No. 2003 / 0130789
[0005] [Patent Document 2] US Patent Application Publication No. 2013 / 0110393 Summary of the Invention [Problem to be solved by the invention]
[0006] One challenge in simplifying a driving route is to generate the most suitable driving route based on a driving scenario and / or different driving scenarios. [Means for solving the problem]
[0007] Shortcomings of the prior art are overcome and further advantages are provided by the provision of a method, computer system, and / or computer program product for simplifying vehicle driving paths. In one aspect, a machine-implemented method includes accessing via at least one electronic device a geographical map stored in at least one memory. One or more driving areas are provided on the geographical map as options, but without changing the underlying structure of the map, where the driving areas are designated as recommended, restricted, or prohibited driving areas. One or more curve entry settings are provided on the map, but without changing the underlying structure of the map, where the curve entry settings represent driving preferences for driving in respective driving directions on the street segment. The curve entry settings are designated as no preference, restricted, or prohibited driving for each of the opposing directions of the street segment. One or more maneuver settings are provided on the geographical map, but without changing the underlying structure of the map, where one or more road junctions in the geographical map are provided. The maneuver settings represent one or more possible driving directions at the one or more road junctions. The maneuvering settings are designated as no preference, limited, or prohibited maneuvers. At least one first set of one or more driving areas, one or more curve entry settings, and one or more maneuvering settings is associated with a first driving scenario. The driving areas, curve entry settings, and maneuvering settings associated with the first driving scenario are displayed on a geographical map on the at least one electronic device. The processor generates a driving route based on the first driving scenario including the associated driving areas, curve entry settings, and maneuvering settings. The at least one electronic device displays the driving route for the vehicle to travel. Once saved, the driving scenario is applicable to a previous existing or newly created driving route.
[0008] The first driving scenario may be based on, but is not limited to, one or more of a time of day, a season, an event affecting traffic, and road construction. The at least one electronic device may include an electronic device in the vehicle. The method may include storing the first driving scenario in at least one memory from which a geographical map is selected. The method may further include overriding at least one of a driving region, a curve entry setting, and / or a maneuver setting associated with the first driving scenario, generating, by a processor, a modified driving path based on the overriding step, and displaying, on the at least one electronic device, the modified driving path traveled by the vehicle. The overriding step may be performed by a vehicle operator or administrator. The method may further include associating a second set of at least one of the one or more driving areas, the one or more curve entry settings, and the one or more maneuvering settings with a second driving scenario, the second set being different from the first set; displaying the driving areas, the curve entry settings, and the maneuvering settings associated with the second driving scenario on a geographical map on the at least one electronic device; the processor generating a driving route based on the second driving scenario; and the at least one electronic device displaying the driving route traveled by the vehicle.
[0009] In another aspect, a computer system for implementing a method for simplifying a vehicle travel path includes at least one memory. The computer system also includes one or more processors in communication with the at least one memory. The computer system is configured to execute the method.
[0010] In another aspect, a computer program product for implementing a method for facilitating vehicle travel routes includes a computer-readable storage medium readable by a processing circuit and storing instructions for performing the method. Computer-implemented systems related to one or more of the aspects and methods are also described and claimed herein. Additionally, services related to one or more of the aspects may also be described and claimed herein.
[0011] Additional features and advantages will be realized through the techniques described herein. Other embodiments and aspects are described in detail herein and are considered a part of the claimed aspects.
[0012] One or more aspects are particularly pointed out and distinctly claimed as examples in the claims at the end of this specification. The foregoing, as well as other objects, features, and advantages of one or more aspects will become apparent from the following detailed description taken in conjunction with the accompanying drawings. [Brief description of the drawings]
[0013] [Figure 1] FIG. 1 illustrates an example of a geographical map on which a driving area is provided according to aspects described herein. [Diagram 2] FIG. 2 illustrates an example of the geographical map of FIG. 1 on which curve entry settings are provided in accordance with aspects described herein. [Diagram 3] FIG. 1 illustrates an example of a geographical map on which navigation settings are provided in accordance with aspects described herein. [Figure 4] FIG. 2 illustrates an example of a geographical map with a first driving scenario displayed within the map, according to an embodiment described herein. [Diagram 5] FIG. 1 illustrates an example of a geographical map and a first driving scenario according to an embodiment described herein, in which at least one of a driving area, a curve entry setting, and a maneuver setting is overridden to generate a modified driving path. [Figure 6]FIG. 1 illustrates an example of a geographical map according to an embodiment described herein, in which a second driving scenario is displayed within the map, where a new driving route is generated based on the second driving scenario. [Figure 7] FIG. 2 illustrates an example flow diagram of a method for facilitating vehicle driving paths according to aspects described herein. [Figure 8] FIG. 5 illustrates an example of a flow diagram for overriding at least one of the driving region, curve entry settings, and maneuver settings associated with the first driving scenario of FIG. 4 and generating a modified driving path based on the overriding step, according to an embodiment described herein. [Figure 9] FIG. 5 illustrates an example of a flow diagram for selecting a second driving scenario different from the first driving scenario of FIG. 4 to generate a new driving scenario according to an embodiment described herein. [Figure 10] FIG. 1 illustrates an example of a schematic diagram of a system according to aspects described herein. [Figure 11] FIG. 11 illustrates components of the system shown in FIG. [Figure 12] FIG. 1 illustrates an example of a computing environment that can be used to incorporate and execute one or more aspects of a method for simplifying vehicle driving paths according to aspects described herein. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0014] Certain examples will now be described to provide a thorough understanding of the principles of structure, function, manufacture, and use of the methods, systems, and devices disclosed herein. One or more examples are illustrated in the accompanying drawings. Those skilled in the art will appreciate that the methods, systems, and devices specifically described herein and shown in the accompanying drawings are non-limiting examples, and the scope of the disclosure is defined solely by the claims. Features shown or described in connection with one example may be combined with features of other examples. Such modifications and variations are intended to be included within the scope of the disclosure.
[0015] The terms "substantially," "approximately," "about," "relatively," or other such similar terms, which may be used throughout this disclosure, including the claims, are used to describe and explain small variations, such as due to process variations, from a reference or parameter. Such small variations include zero variations from a reference or parameter. For example, these terms can refer to ±10% or less, such as ±5% or less, such as ±2% or less, such as ±1% or less, such as ±0.5% or less, such as ±0.2% or less, such as ±0.1% or less, such as ±0.05% or less.
[0016] When taking a travel route for an object or passenger, such as a student boarding a school bus, there may be times when modifications are required to maintain a travel route that is safe, efficient, and includes all of the route's assigned stops from the starting point to the route's final destination. For example, additional stops or journey segments may be added to the travel route to accommodate additional pick-up or drop-off requests for the newly assigned object or passenger. Changing attributes such as traffic patterns, weather, or vehicle accidents may require the travel route to be modified "in real time," while still maintaining the route safe, efficient, and including all of the previously planned stops.
[0017] A driving scenario includes an associated combination of driving areas, curve entry settings, and / or maneuvering settings that are useful in determining a vehicle driving path within a geographical map. The driving areas represent driving preference settings for an area within the map. The curve entry settings represent driving preference settings for a driving direction within a street section within the map. The maneuvering settings represent driving preference settings for a driving direction within a street branch (or intersection) within the geographical map.
[0018] Aspects of the present invention allow a user to apply custom settings to a map that only affect wayfinding when that scenario is selected and active while generating routes and directions. The selected driving scenario does not permanently change the underlying map properties. For example, when a driving scenario is created by a software application according to the present invention, the application may use the map and attributes in the map, but may not become part of the map. Rather, the driving scenario may provide and display driving areas, curve entry settings, and / or maneuver settings on the map, but may not be within the scope of the map. A driving scenario may be, for example, a map layer disposed on top of a base map layer that uses the map for reference but does not change the map.
[0019] Multiple driving scenarios, each with its own settings, may be created for use with the same map. Aspects of the invention may be included as optional attributes that are applicable to a route or journey planner. Driving scenarios may correspond to driving situations or conditions, such as daytime driving, nighttime driving, or other times of day, dry weather, rainy weather, snowy weather, or other weather conditions, heavy traffic, light traffic, or other traffic conditions, seasonal driving, such as summer or winter driving, schools in session or not in session, road width, maximum allowable weight, visibility, and whether a particular street can be traversed by a particular vehicle.
[0020] In one embodiment, the driving scenario may be changed at any time. Once changed, the driving route is re-evaluated based on the settings associated with the newly applied driving scenario, allowing the vehicle to reach the stops of the driving route. This may be useful for situation-based routing using local knowledge of traffic patterns at different times of the day, such as weather changes, personal transportation, or vehicles in use. For example, a first driving scenario may be for driving during dry weather, and a second driving scenario may be for driving during rainy weather. A user may select the first driving scenario based on dry weather, and then change to the second driving scenario when the weather changes to rainy. When this occurs, the system will add the settings associated with the second driving scenario and change the driving route accordingly.
[0021] In one or more embodiments, the ability to automatically generate a driving path for a moving object during one or more driving scenarios based on a driving region, a curve entry setting, and / or a maneuver setting is provided. The driving path is automatically generated via a computer system. The moving object may include a mobile device such as a wireless communication device (e.g., a smartphone) and / or a vehicle such as a truck, a bus including a school bus, a car, and a trolley.
[0022] In addition to the system being used to facilitate a trip route in real time, the system may be used to facilitate a trip route prior to a trip and / or based on historical trip and GPS data for the vehicle. A trip route includes a route that the vehicle is designed to travel. Such trip routes include car routes, bus routes, truck routes, and / or trolley routes. Common examples of planned trip routes include city bus transit routes and school bus routes.
[0023] In another aspect, when a geographical map is first opened by a software application according to the present invention, the application may identify existing attributes of the map and automatically generate one or more curve entry configurations and one or more maneuver configurations based on these underlying map attributes. The application may also create a default driving scenario based on the generated curve entry and maneuver configurations and display the default driving scenario on the map. The default driving scenario makes no changes to the underlying attributes of the map. Optionally, the application may generate one or more driving areas when the geographical map is first opened. If no driving areas are generated when the map is first opened, the default driving scenario will not include any driving areas.
[0024] The user does not need to make changes to the default settings and save them as a driving scenario. Additionally, the user can create or edit driving areas, curve entry settings, or maneuver settings and save them as a new driving scenario.
[0025] The application's algorithms may specify the curve entry and maneuver settings of the travel scenario as "no preference", "restricted", or "prohibited". Specifying no preference for the curve entry setting would indicate that there is no likely efficiency cost difference between either of the driving directions available to the vehicle on the street section, and either direction is possible. Specifying no preference for the maneuver setting would indicate that there is no likely efficiency cost difference between either of the turning directions available to the vehicle on the street branch, and either turning is possible. Specifying restricted for either of the curve entry or maneuver settings would indicate that the cost of the option taken by the vehicle is greater than other curve entries or maneuvers available to the vehicle. Specifying prohibited would indicate that the vehicle's journey cannot traverse the prohibited curve entry or maneuver at all. The efficiency cost in this case refers to the cost in terms of the time it takes the vehicle to traverse the travel path.
[0026] The application's algorithms may designate driving areas of a driving scenario as "recommended," "restricted," or "prohibited." The designation of restricted or prohibited for a driving area is the same for a curve approach or maneuvering setting; that is, a restricted driving area indicates that the option for the vehicle to traverse the driving area is more costly, and a prohibited driving area indicates that the vehicle cannot traverse the driving area. However, the designation of "recommended" for a driving area is different from the designation of "no preference" for either a curve approach or maneuvering setting; that is, a recommended driving area indicates that traversing the streets in the recommended driving area is less costly and therefore more advantageous than traversing through alternative routes.
[0027] A user wishing to create an itinerary may be prompted to create additional non-default driving regions, curve entry settings, maneuver settings, and driving scenarios by entering additional attributes on the map or modifying existing attributes. Alternatively, the user may choose not to enter any additional attributes and use only the default driving scenario.
[0028] The user may also be prompted to select from one or more driving scenarios previously stored in the memory, which may include at least a default driving scenario. The application may also associate the selected driving scenario with the map. Alternatively, the user may be prompted to select a driving route to which a driving scenario may be automatically applied.
[0029] Further details regarding generating a driving path for a mobile body are described with reference to the following figures. Aspects of this system or process may be performed by a computer system including one or more processors in the mobile body, by one or more processors remote to the mobile body, or by a combination of processors in the mobile body and processors remote to the mobile body. Many possibilities exist.
[0030] 1, an example of a geographic map 100 having driving areas 102, 104, 106 provided using and displayed on the map 100 is shown in accordance with embodiments described herein. The map 100 may include streets comprised of street segments 108 and junctions 110 (i.e., locations where two or more streets interconnect or intersect). Additionally, the map 100 may include other features such as vehicle stops 112, 114, 116, schools 118, homes 120, or other objects located within the boundaries of the map 100. Various features on the map may be associated with location coordinates (such as GPS and / or other XY coordinates) that define the location of the features on the map 100.
[0031] The geographical map 100 may be stored in at least one memory of at least one electronic device. The electronic device may be a mobile object, such as in a vehicle. Alternatively, the electronic device may be an electronic device in the vehicle (such as a mobile phone used by a driver of the vehicle). Furthermore, the electronic device may not be mobile or located in a vehicle. Rather, the electronic device may be, for example, a stationary mainframe computer, a personal computer, a laptop, a tablet, or a server located anywhere. The map 100 may be provided by software associated with the electronic device and displayed on a user interface associated with the electronic device.
[0032] Software associated with the electronic device may enable a user to interact with the map 100. For example, attributes for streets and street segments, XY coordinates, and areas on the map may be associated with one or more travel scenarios. Within a travel scenario, the attributes may be modified so that vehicle travel paths (as indicated by directional arrows 122 in FIG. 4 ) created for start points, stops (planned and unplanned), and destinations comply with rules and preferences required for efficient transportation of objects and / or occupants.
[0033] A user may create any number of driving areas (e.g., driving areas 102, 104, 106) by, for example, drawing shapes or boundaries on the map 100. Each of the driving areas 102, 104, 106 created using a geographic map may be designated as a recommended, restricted, or prohibited driving area. All features (e.g., streets 108 and intersections 110) whose XY coordinates fall within the boundaries of the driving area will be associated with the area designation.
[0034] A recommended driving area (such as driving area 102) is an area that should be used before driving route planning or other possible options for driving. A restricted driving area (such as driving area 106) is an area that should be avoided. A prohibited driving area is an area that may never be used for driving route planning.
[0035] The determination of whether a driving area is designated as "restricted" may be calculated on a weighted scale. For example, if a driving area is restricted, any street segments within the area may be weighted by the routing algorithm, making the cost of efficiency options for the vehicle to traverse more. The routing algorithm may attempt to modify the vehicle's driving path using various streets outside the restricted driving area. If the modified driving path requires driving a different set of streets, but has an equal or lower cost of efficiency to driving through the restricted area, the modified driving path will be used. If there is still no alternative driving path that allows the vehicle to reach the destination in an equal or less costly manner, the driving path will be a path through the restricted driving area. As discussed in more detail in FIG. 2 with respect to the curve entry settings and in FIG. 3 with respect to the maneuver settings, the restricted curve entry settings and restricted maneuver settings may also be calculated on a weighted scale and may be evaluated similarly to those of the restricted driving area.
[0036] Prior art methods for determining a driving path are generally limited to driving areas designated as recommended or prohibited. However, such generalized designation of driving areas does not take into account restricted driving areas, which may, for example, traverse restricted driving areas when other alternative routes are less efficient. By utilizing at least three types of priority designations (e.g., recommended, restricted, and prohibited) of driving areas, an improved level of efficiency may be provided over the prior art when determining a driving path. Furthermore, the resulting optimized driving path may take less time to traverse than prior art methods that utilize only recommended and prohibited designations for driving areas. Furthermore, prior art methods do not disclose combinations of recommended, restricted, and prohibited designations that may be applied to driving areas, or no preference settings, restricted, and prohibited settings that may be applied to curve entry settings and maneuver settings. As such, the present invention includes technical and other improvements that may generate improved driving paths that are faster and more efficient to traverse than driving paths determined by prior art methods.
[0037] Each of the recommended, restricted, and prohibited driving areas may be displayed with a unique visual indicator to identify these designations to the user. For example, the recommended driving areas 102 may be displayed in green, white, or no color, the restricted driving areas 106 may be displayed in yellow or shaded or include multiple X's, and the prohibited driving areas 104 may be displayed in red or drawn with dots.
[0038] 2, an example of a geographic map 100 is shown using curve entry settings 124, 126, 128 in accordance with aspects described herein. The curve entry settings (as indicated by directional arrows 124, 126, 128) represent driving preferences for driving in each direction of travel on the street segment 108. The curve entry settings may be specified as no preference 124, restricted 126, or prohibited 128 driving for each of the opposing directions of the street segment.
[0039] The determination of whether a curve entry setting is designated as "restricted" may be calculated on a weighted scale by the routing algorithm according to the present invention. For example, if a curve entry is restricted, it may be calculated and weighted by the routing algorithm as a higher cost option for the vehicle to take than other available curve entry settings. The routing algorithm may attempt to modify the driving path using a different curve entry. If the modified driving path using the alternative curve entry requires driving a different set of streets, but has an equal or lower cost of efficiency to driving through the restricted curve entry, the modified driving path will be used. If there is still no alternative driving path that allows the vehicle to reach the destination in an equal or less costly manner, the vehicle will use the restricted curve entry.
[0040] Each of the no-preference, restricted, and prohibited curve entry configurations may be displayed with a unique visual indicator to identify these designations to the user. For example, the no-preference curve entry configuration 124 may be displayed with a green, white, or colorless directional arrow, the restricted curve entry configuration 126 may be displayed with a yellow or shaded or part black and part white directional arrow, and the prohibited curve entry configuration 128 may be displayed with a red or dotted or solid black directional arrow.
[0041] A curve entry setting without preference (such as curve entry setting 124) may be specified for a driving direction on a street segment that is available in either direction or on either side for a driving path (such as driving path 122 in FIG. 4). A restricted curve entry setting (such as curve entry setting 126) may be specified for a driving direction on a street segment that will restrict driving on the indicated side. A prohibited curve entry setting (such as curve entry setting 128) is a street segment that will prohibit driving on the indicated side. A curve entry setting without preference, restricted, or prohibited may be set for one or both sides of a street segment.
[0042] The curve entry settings may be adjusted by a user through a user interface associated with the electronic device. For example, initially, all curve entry settings 124, 126, 128 on the map 100 may be set to no preference and all curve entry direction arrows 124, 126, 128 may be colored white. Then, clicking once on the direction arrow 126 may change the setting to restrict and the color of the direction arrow 126 may change to yellow. Clicking twice on the direction arrow 128 may change the setting to prohibit and the color of the direction arrow 128 may change to red.
[0043] When a travel route is created from a starting point 112, a stop (planned or unplanned) 114, and to a destination 116, the calculations will produce the most efficient route and allow for traversal of street segments 108 with no preference 124 to proceed in either direction if the street segment is a two-lane road. The travel route may also traverse restricted street segments 126 if a weighted calculation indicates that this is likely the most efficient direction to take. The travel route cannot traverse prohibited street segments 128.
[0044] 2, as an example, a travel path may traverse street segment 108A even though street segment 108A is specified as a restricted street segment direction by curve approach setting 126A, because the only other alternative would be to traverse street segment 108B, which is specified as a prohibited street segment direction by curve approach setting 128B.
[0045] 3, an example of a geographic map 100 having maneuver settings 130, 132, 134 provided using and displayed on the map 100 is shown in accordance with aspects described herein. The maneuver settings (as indicated by the directional arrows 130, 132, 134) represent one or more possible driving directions at one or more road junctions (or intersections) 110. The maneuver settings may be designated as no preference 130, restricted 132, or prohibited 134 maneuvers.
[0046] The determination of whether a maneuvering setting is designated as "restricted" may be calculated on a weighted scale. For example, if a maneuvering setting is restricted, it may be calculated and weighted by the routing algorithm to be a more costly option for the vehicle to take than other available maneuvering settings. The routing algorithm may attempt to modify the travel path using a different maneuvering setting. If the modified travel path using the alternative maneuvering setting requires travelling a different set of streets, but has an equal or lower cost to travelling with the restricted maneuver, the modified travel path will be used. If there is no modified travel path that still allows the vehicle to reach the destination in an equal or less costly manner, the journey will use the restricted maneuver.
[0047] Each of the no-preference, limited, and prohibited steering settings may be displayed with a unique visual indicator to identify these designations to the user. For example, the no-preference steering setting 130 may be displayed with a green, white, or colorless directional arrow, the limited steering setting 132 may be displayed with a yellow or shaded or partly black and partly white directional arrow, and the prohibited steering setting 134 may be displayed with a red or dotted or solid black directional arrow.
[0048] A no-preference maneuvering setting (such as directional arrow 130) is a junction that may be turned in any direction during travel to calculate a travel path from a starting point 112 to a stop 114 (planned or unplanned) and to a destination 116. A no-preference maneuvering setting may be set for all possible directions of the junction 110. In the case of a one-way street, the maneuvering setting is only allowed to turn onto streets in the allowed travel direction.
[0049] A restricted maneuvering setting (such as directional arrow 132) is a junction that should not be turned in the indicated direction when traveling. The software may avoid using restricted maneuvering settings when calculating a travel route from a starting point 112 to a stop 114 (planned or unplanned) and to a destination 116. Restricted maneuvering settings may be set for all possible directions of a junction 110.
[0050] A prohibited maneuvering configuration (such as directional arrow 134) is a junction where a turn in the indicated direction cannot be made when traveling. The software will not use turns at prohibited maneuvering configurations when calculating a travel route from the starting point 112 to a stop 114 (planned or unplanned) and to the destination 116. Prohibited maneuvering configurations may be set for all possible directions of the junction 110.
[0051] The steering settings may be adjusted by a user through a user interface associated with the electronic device. For example, initially, all steering settings 130, 132, 134 on the map 100 may be set to no preference settings and all steering setting directional arrows 130, 132, 134 may be white. Then, clicking once on the directional arrow 132 may change the setting to restrict and the color of the directional arrow 132 may change to yellow. Clicking twice on the directional arrow 134 may change the setting to prohibit and the color of the directional arrow 134 may change to red.
[0052] When a travel route is created, the calculation will use the most efficient route and may turn (or maneuver) to proceed in any direction at junction 110 with no preference 130. The travel route may also turn in a restricted direction 132 if a weighted calculation indicates that this is likely to be the most efficient maneuver to take. The travel route cannot be maneuvered in a prohibited direction 134.
[0053] 4, an example of the map 100 displaying a driving path of a first driving scenario 140 displayed within the geographic map 100 is shown according to aspects described herein. Once one of the driving regions 102, 104, 106, curve entry settings 124, 126, 128, or maneuver settings 130, 132, 134 has been created (as shown in FIGS. 1-3 ) and associated with a driving scenario (e.g., a first driving scenario used for “dry weather” driving), a driving path can be created for selected planned or unplanned stops including an initial starting location and a final destination.
[0054] 4, any created driving areas 102, 104, 106, curve entry settings 124, 126, 128, and maneuvering settings 130, 132, 134 are associated with a first driving scenario 140 (e.g., "Dry Weather Driving"). However, any number and combination of driving area, curve entry settings, and maneuvering settings features may be associated with a driving scenario, provided the driving scenario includes at least one such feature.
[0055] The driving areas 102, 104, 106, the curve entry settings 124, 126, 128, and the maneuver settings 130, 132, 134 associated with the first driving scenario 140 may be displayed on a geographical map on at least one electronic device. A processor associated with the electronic device may further generate a driving route 122 (as shown in FIG. 4 ) based on the first driving scenario 140. The at least one electronic device may further display the driving route 122 traveled by the vehicle. One of such electronic devices may be located in the vehicle, and the other electronic device may be located elsewhere. For example, the other electronic device may be located at a transportation manager's facility, and the other electronic device displaying the route may be used by a customer, such as a passenger or his / her family member.
[0056] When the driving route 122 is generated based on the first driving scenario 140 from the starting point 112, the (planned or unplanned) stop 114, and to the destination 116, the processor will calculate the most efficient route based on the settings mentioned above. In the example shown in FIG. 4, the calculated route 122 traverses through the recommended driving area 102 and avoids the restricted driving area 106 and the prohibited driving area 104. In addition, the driving route 122 also traverses the street section 108A, even though it is specified as a restricted street section direction by the directional arrow 126A. This is because the only other alternative would be to traverse the street section 108B, which is specified as a prohibited street section direction by the directional arrow 128B. Finally, the driving route 122 takes only maneuvers 130 without priority settings at each intersection 110 and avoids the restricted maneuvers 132 and the prohibited maneuvers 134.
[0057] The driving scenarios (such as the first driving scenario 140) and their characteristics of the driving regions 102, 104, 106, curve entry settings 124, 126, 128, and maneuver settings 130, 132, 134 may be based on many attributes. For example, they may be based on one or more attributes including, but not limited to, weather, time of day, season, events affecting traffic, fuel conditions, and road construction. Once created, the first driving scenario 140 and its associated driving regions, curve entry settings, and maneuver settings may be stored in at least one memory (also including the geographic map 100). However, the driving scenario 140 may be stored in at least one memory as a separate object from the geographic map 100.
[0058] 5, an example of a geographical map 100 and a first driving scenario 140 is shown, in which at least one of the driving area, the curve entry setting, or the maneuver setting is overridden to generate a modified driving path 144 according to aspects described herein. If the attributes on which the first driving scenario 140 is based (such as weather, construction, or vehicle accident) are changed, at least one of the features of the driving areas 102, 104, 106, the curve entry settings 124, 126, 128, and the maneuver settings 130, 132, 134 associated with the first driving scenario 140 may be overridden. Once overridden, the processor may generate a modified driving path (such as the driving path 144) based on the override of these features. The modified driving path 144 along which the vehicle travels may then be displayed on at least one electronic device. The overriding step may be performed by a vehicle operator or administrator. The modified driving route 144 may not change the driving scenario 140, and the driving scenario 140 may still be used by other users and for other driving routes.
[0059] In the specific example of FIG. 5, a vehicle accident 142 occurs on street 108C, which prohibits maneuver setting 130A, which is designated as a no-priority maneuver. Thus, upon becoming aware of the accident, a manager or operator of a vehicle traversing the route may enter a command to override maneuver 130A into an electronic device and effectively redesignate maneuver 130A as a prohibited maneuver. The system software will also generate a modified route 144. As shown in FIG. 5, the altered driving path 144 avoids street 108C by traversing restricted driving area 106 and taking alternative street 108D. Although the specific example shown in FIG. 5 overrides maneuver setting 130A, any number or combination of driving areas, curve entry settings, and / or maneuver settings may be overridden in response to changing conditions.
[0060] 6, an example of a geographical map 100 is shown with a second driving scenario 150 displayed on the map 100 according to aspects described herein. As conditions (such as time of day, weather, construction, and traffic) change, different driving scenarios may be selected to generate a more efficient driving route based on these changed conditions. Thus, for example, the second driving scenario may be for "snow weather" driving conditions.
[0061] Therefore, a second set of one or more of the features of the driving area, the curve entry settings, and the maneuver settings may be associated with the second driving scenario 150. The second set of features associated with the second driving scenario 150 may be different from the first set of features associated with the first driving scenario 140. For example, there may be a driving area, and a curve entry setting and / or a maneuver setting that are restricted due to snowy weather. The second set of driving area, the curve entry settings, and the maneuver settings associated with the second driving scenario 150 may also be displayed on the geographical map 100 on the at least one electronic device. The processor associated with the electronic device may also generate a driving path 146 based on the second driving scenario 150. The at least one electronic device may then display the driving path 146 traveled by the vehicle, for example, on a display screen of a user interface.
[0062] In the example shown in FIG. 6, some of the characteristics of the driving area, curve entry settings, and maneuver settings for the second driving scenario are different. More specifically, with respect to the driving area, the prohibited driving area 104 of FIG. 4 is not shown on the map 100 because it is not associated with the second driving scenario. Instead, the recommended driving area 148 on the geographical map 100 is associated with the second driving scenario and displayed on the geographical map 100. Such a situation may arise, for example, when the first driving scenario is for "rush hour" or congested traffic conditions and the second driving scenario is for nighttime driving conditions. With respect to the curve entry settings, the different curve entry settings 124A specified for the street segment 108D are associated with the second driving scenario, as is the maneuver setting 130B.
[0063] The driving path 146 generated based on the second driving scenario 150 now traverses through the area where the prohibited area 104 of the first driving scenario is used and performs a left turn maneuver 130B without a preference on the street 108D. The driving path 146 then reaches this planned stop 114 by traversing the street section 108D in the curve entry direction 124A without a preference through the new recommended driving area 148. For this example, from the stop 114 to the final destination of 116, the driving path 146 is the same as the original driving path 140 generated using the first driving scenario. However, based on the driving scenarios and their associated settings, the generated driving path for a particular driving scenario may be quite different from other driving paths, even when the start and end points of the journey may be the same.
[0064] 7, an example flow diagram of a method 200 for facilitating vehicle driving routing is shown according to aspects described herein. The method 200 begins at 202, where at least one electronic device accesses a geographic map 100 stored in at least one memory associated with the electronic device. The map 100 may include streets comprised of street segments 108 and intersections 110. Additionally, the map 100 may include other features such as vehicle stops 112, 114, 116, schools 118, and homes 120.
[0065] At 204, the method optionally provides one or more driving areas 102, 104, 106 to be displayed on the geographic map 100. A driving area represents driving preferences through an area (or section) of the map 100. A driving area may be designated as a recommended, restricted, or prohibited driving area. A driving area may be associated with one or more driving scenarios and therefore may be used in the driving scenarios. A software application according to the invention may optionally provide one or more driving areas when the geographic map is first opened. If no driving areas are generated when the map is first opened, the default driving scenario will not include any driving areas.
[0066] At 206, one or more curve entry configurations 124, 126, 128 are provided within the geographic map 100. The curve entry configurations represent driving preferences for driving in each driving direction on the street segment 108. The curve entry configurations may be specified as no preference, limited, or prohibited driving for each of the opposing directions of the street segment. The curve entry configurations may be associated with one or more driving scenarios for use in the driving scenarios.
[0067] At 208, one or more maneuvering configurations 130, 132, 134 are provided at one or more road junctions (or intersections) 110 in the geographic map 100. A maneuvering configuration represents one or more possible driving directions at one or more road intersections. A maneuvering configuration may be specified as no preference, limited, or prohibited maneuvers. A maneuvering configuration may be associated with one or more driving scenarios for use in the driving scenarios.
[0068] In the method 210, a first driving scenario 140 is associated with a first set of one or more of driving regions 102, 104, 106, curve entry settings 124, 126, 128, and maneuvering settings 130, 132, 134. The first driving scenario includes at least one of the features of the driving regions, the curve entry settings, and / or the maneuvering settings, and may be any number of any combination of these features.
[0069] At 212, the driving area, curve entry settings, and maneuver settings associated with the first driving scenario 140 are displayed on a geographical map on the at least one electronic device. At 212, the method includes a processor generating a driving path 122 based on the first driving scenario 140. At 214, the driving path 122 traveled by the vehicle is displayed on the at least one electronic device.
[0070] Referring to FIG. 8, the driving regions 102, 104, 106, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 106、 An example of a flow diagram of a method 220 for overriding at least one of the curve entry settings 124, 126, 128 and the maneuver settings 130, 132, 134 to generate a modified travel path 144 based on the overriding steps is shown according to aspects described herein. The method 220 is complementary to the method 200 described in FIG.
[0071] The method 220 begins at 222, where a processor associated with an electronic device generates a modified driving path 144 based on overriding at least one of the driving regions 102, 104, 106, the curve entry settings 124, 126, 128, and the maneuver settings 130, 132, 134 associated with a first driving scenario 140. The overriding may be performed by a vehicle operator or administrator. The overriding may also be performed in real time. For example, if the driving path shows a recommended maneuver to a street on a geographical map, but the driver of a vehicle (such as a bus) finds that an accident has occurred that substantially blocks that street, the driver may override the maneuver through a user interface associated with the electronic device. The driver may, for example, redesignate the maneuver as a restriction rather than a recommendation.
[0072] At 224, the modified driving path 144 traveled by the vehicle may be displayed on the at least one electronic device. The modified driving path 144 may not change the driving scenario 140, and the driving scenario 140 may still be used by other users and for other driving paths.
[0073] 9, an example flow diagram of a method 230 for generating a driving path 146 based on a second driving scenario 150 by selecting a second driving scenario 150 different from the first driving scenario 140 is shown according to aspects described herein. The method 230 is complementary to the method 200 described in FIG.
[0074] The method 230 begins at 232, where a second set of one or more of the driving regions 102, 104, 106, curve entry settings 124, 126, 128, and maneuver settings 130, 132, 134 is associated with a second driving scenario 150. The second set associated with the second driving scenario 150 may be different from the first set associated with the first driving scenario 140. Based on driving conditions, the second driving scenario 150 will be selected as the scenario for driving.
[0075] After the second driving scenario is selected, the driving area, curve entry settings, and maneuver settings associated with the second driving scenario may be displayed on the geographical map 100 on the at least one electronic device at 234. At 236, the processor generates a driving path 146 based on the second driving scenario 150. At 238, the driving path 146 traveled by the vehicle is displayed on the at least one driving device.
[0076] 10 and 11, aspects of a system 300 according to an example embodiment for facilitating vehicle driving paths are shown. The system 300 may include one or more processors or servers 302 to which data (or information) 304 is transmitted and a process including a specific algorithm 306 is executed. In one example, the system 300 may be implemented via cloud computing 308. The system 300 receives or obtains information 304 that may represent an electronic map of an area. The information 304 may also include coordinates for each street, which is made up of a street segment, and intersections on the map, as well as coordinates for each potential stop where the vehicle may stop. The information 304 may also include input data regarding various attributes associated with the street segments, intersections, stops, and any other objects or features on the map.
[0077] The system 300 also receives or obtains information 304 regarding the trip scenario and characteristics of the trip area, curve entry settings, and maneuver settings that make up the trip scenario. The information 304 may be entered into the system 300 by a user through a user interface 314. Such a user may be, for example, a trip manager, a vehicle operator, or a vehicle occupant. The information may also be transmitted to the system 300 electronically, for example, by a Global Positioning System (GPS) or weather satellites.
[0078] The information 304 may include attributes associated with or affecting such characteristics. For example, attributes such as size, shape, and location may be information related to a driving area. Also, by way of example, attributes such as one-way streets, traffic patterns, construction, and time of day may be information related to curve entry and maneuver settings. The information 304 may also include whether a driving area, curve entry and maneuver setting is designated as recommended, restricted, or prohibited. The system 300 is also operable to obtain real-time updated or modified information 304 regarding such driving scenarios, driving areas, curve entry settings, or maneuver settings, such as, for example, redesignating a driving area from restricted to recommended.
[0079] The information 304 may be obtained by any feasible method, including receiving such information from a computer or mobile device, or generating the information from GPS data stored in one or more storage devices. The information may also be input by one or more users 310. Other techniques for obtaining the information may also be used to create, generate, and / or obtain the information. Within the system 300 and memory associated therewith, the information 304 may be stored in any desired format.
[0080] A process or algorithm 306 executed by the processor 302 may use the information 304 to generate results 312. The results 312 may electronically represent and / or generate a driving path based on the selected driving scenario and one or more combinations of driving path, curve entry settings, and maneuver settings. The system 300 may store the results 312 for later use or analysis.
[0081] A user (e.g., an operator, manager, or vehicle driver) 310 may be enabled to view the results 312 on any number of user interfaces 314. The user 310 may also be enabled to edit or further analyze the results 312 by entering additional information 304 through the user interface 314 and performing tasks such as modifying a process or algorithm 306.
[0082] The generated route may be a system-optimized route that takes into account first-party and third-party traffic, weather, hazard, and / or avoidance zone data. Additionally, the optimized route may be based on current and / or historical data. In some embodiments, the generated route may include a primary route and multiple alternative routes. The alternative routes may be prioritized based on total distance, total time, or total cost based on an objective cost function to complete each route.
[0083] When operating using real-time data, the system may be used by a user, such as a transportation manager responsible for generating driving routes for vehicles, including fleets of vehicles such as buses, school buses or trolleys, or delivery trucks, to optimize driving routes. Once an optimized driving route is determined, the user may authorize or enable a particular vehicle to traverse the optimized driving route. Alternatively, the user may restrict or prevent a particular vehicle from traversing other driving routes.
[0084] The system may also be used by users of buses or trolleys in public transportation routes, etc. For example, when a vehicle such as a bus or trolley is assigned to travel from an initial destination to a final destination, the user may optimize the travel route based on various travel scenarios. The mobile device may display one or more vehicles and the planned travel route for the vehicle that has been assigned (as described above) to the route.
[0085] Furthermore, when the system operates using historical driving or GPS data, a user of the system may use the system to generate a driving route based on historical data associated with the geographic area within which driving is desired, and various driving scenarios. The system may store the driving and GPS data as historical data while the vehicle is driving. In this regard, the historical GPS data is accumulated over time and stored in the system or remotely. The historical GPS data may be used to perform data analysis of the vehicle and the planned driving route during various driving scenarios to determine driving areas, curve entry, and maneuver settings.
[0086] One example of a computer system including a processor that may be used in accordance with one or more aspects of the present invention is described with reference to Figure 12. In this example, the computer system is part of a computing environment that includes additional components that may or may not be used in accordance with aspects of the present invention.
[0087] As shown in Figure 12, a computing environment 400 that can be used to perform the processes of the present invention is disclosed. The computing environment includes, for example, a computer system 402, shown for example, in the form of a general purpose computing device. The computer system 402 may include, but is not limited to, one or more processors or processing units 404 (e.g., central processing unit (CPU)), memory 406 (for example, also referred to as system memory, main memory, main storage, central storage, or storage), and one or more input / output (I / O) interfaces 408 coupled together by one or more buses and / or other connections 410.
[0088] Bus 410 represents any one or more of several types of bus structures including a memory bus or memory controller, a peripheral bus, an accelerated graphics port, and a processor or local bus using any of a variety of bus architectures. By way of example, and without limitation, such architectures include Industry Standard Architecture (ISA), MicroChannel Architecture (MCA), Enhanced ISA (EISA), Video Electronics Standards Association (VESA) local bus, and Peripheral Component Interconnect (PCI).
[0089] The memory 406 may include a cache 420, such as a shared cache, which may be coupled to a local cache 422 of the processor 404. Additionally, the memory 406 may include one or more programs or applications 430, an operating system 432, and one or more computer readable program instructions 434. The computer readable program instructions 434 may be configured to perform functions of embodiments of aspects of the present invention.
[0090] The computer system 402 may also communicate with one or more external devices 440, one or more network interfaces 442, and / or one or more data storage devices 444, for example, via the I / O interface 408. Examples of external devices include user terminals, tape drives, pointing devices, displays, etc. The network interface 442 allows the computer system 402 to communicate with one or more networks, such as a local area network (LAN), a general wide area network (WAN), and / or a public network (e.g., the Internet), thereby allowing communication with other computer devices or systems. For example, the system may be connected to a personal computer, tablet device, or smartphone to communicate the assigned or unassigned status of a mobile unit to a user via a graphical user interface.
[0091] The data storage device 444 may store one or more programs 446, one or more computer readable program instructions 448, and / or data, etc. The computer readable program instructions may be configured to perform the functions of embodiments of aspects of the present invention.
[0092] The computer system 402 may include and / or be coupled to removable / non-removable, volatile / non-volatile computer system storage media. For example, the computer system 402 may include and / or be coupled to a non-removable, non-volatile magnetic media (typically referred to as a "hard drive"), a magnetic disk drive for reading from and writing to a removable, non-volatile magnetic disk (e.g., a "floppy disk"), and / or an optical disk drive for reading from and writing to a removable, non-volatile optical disk, such as a CD-ROM, DVD-ROM, or other optical media. It should be understood that other hardware and / or software components may be used in conjunction with the computer system 402. Examples include, but are not limited to, microcode, device drivers, redundant processing units, external disk drive arrays, RAID systems, tape drives, data archive storage systems, and the like.
[0093] Computer system 402 may be operational with numerous other general purpose or special purpose computing system environments or configurations. Examples of well-known computing systems, environments, and / or configurations that may be suitable for use with computer system 402 include, but are not limited to, personal computer (PC) systems, server computer systems, thin clients, thick clients, handheld or laptop devices, multiprocessor systems, microprocessor-based systems, set-top boxes, programmable consumer electronics, network PCs, minicomputer systems, mainframe computer systems, and distributed cloud computing environments that include any of the above systems or devices.
[0094] One or more of the processors and / or other aspects of the computer system or computing environment may be remote from the mobile object. Furthermore, in one particular example, a processor such as processor 404 may execute one or more machine learning engines and / or other engines to provide an optimal driving path or journey for the mobile object based on training and learning in accordance with one or more aspects of the present invention. These engines may be stored in a main memory and / or a memory including one or more caches, and / or an external storage, and may execute in one or more processors. Many variations exist.
[0095] One or more aspects of the present invention are germane to improvements in computer and / or technical fields.
[0096] One or more aspects may be related to cloud computing. Although the present disclosure includes detailed descriptions related to cloud computing, it should be understood in advance that the implementation of the teachings set forth herein is not limited to a cloud computing environment. Rather, embodiments of the present invention may be implemented in conjunction with any other type of computing environment now known or later developed.
[0097] Cloud computing is a model of service delivery for enabling opportunistic, on-demand network access to a shared pool of configurable computing resources (e.g., networks, network bandwidth, servers, processing, memory, storage, applications, virtual machines, and services) that can be rapidly provisioned and released with minimal management effort or interaction by the provider of the service. The cloud model can include at least five characteristics, at least three service models, and at least four deployment models.
[0098] The characteristics are as follows:
[0099] On-Demand Self-Service: Cloud consumers can automatically and unilaterally provide computing capacity, such as server time and network storage, on an as-needed basis, without the need for human interaction with the provider of the service.
[0100] Pervasive Network Access: Capabilities are available over the network and accessed through standard mechanisms that facilitate use by heterogeneous thin or thick client platforms (eg, cell phones, laptops, and PDAs).
[0101] Resource Pooling: Provider computing resources are pooled to serve multiple consumers using a multi-tenant model, with different physical and virtual resources dynamically allocated and reallocated on demand. Consumers generally have no control or knowledge over the exact location of the resources provided, but have a sense of location independence in that they may be able to identify location at a higher level of abstraction (e.g., country, state, or data center).
[0102] Rapid Elasticity: Capacity can be rapidly and elastically, in some cases automatically, provisioned to quickly scale out, and rapidly released to quickly scale in. To the consumer, the capacity available for provisioning often appears unlimited, and any amount can be purchased at any time.
[0103] Pay-per-use services: Cloud systems automatically control and optimize resource usage by leveraging metering capabilities at a level of abstraction appropriate to the type of service (e.g., storage, processing, bandwidth, and active user accounts). Resource usage can be monitored, controlled, and reported, providing transparency to both providers and consumers of the services being utilized.
[0104] The service model is as follows:
[0105] Software as a Service (SaaS): The ability offered to the consumer is to use a provider's applications running on a cloud infrastructure. The applications are accessible from a variety of client devices through thin-client interfaces such as web browsers (e.g., web-based email). The consumer does not manage or control the underlying cloud infrastructure, including networks, servers, operating systems, storage, or even individual application capabilities, with the possible exception of limited user-specific application configuration settings.
[0106] Platform as a Service (PaaS): The capability offered to a consumer is to deploy applications created or acquired by the consumer, written using programming languages and tools supported by the provider, onto a cloud infrastructure. The consumer does not manage or control the underlying cloud infrastructure, including networks, servers, operating systems, or storage, but does control the deployed applications and possibly the configuration of the application's hosting environment.
[0107] Infrastructure as a Service (IaaS): The capability provided to the consumer is to provision processing, storage, network, and other basic computing resources that the consumer can deploy and run any software that can include operating systems and applications. The consumer does not manage or control the underlying cloud infrastructure, but does have control over the operating systems, storage, deployed applications, and in some cases, limited control over the selection of network components (e.g., host firewalls).
[0108] The deployment model is as follows:
[0109] Private Cloud: Cloud infrastructure operated solely for an organization. It can be managed by this organization or a third party, and can exist on-premise or off-premise.
[0110] Community Cloud: The cloud infrastructure is shared by several organizations and supports a unique community with shared concerns (e.g., mission, security requirements, policies, and compliance considerations). It may be managed by the organization or a third party, and may exist on-premise or off-premise.
[0111] Public Cloud: The cloud infrastructure is made available to the general public or large industry organizations and is owned by an organization that sells cloud services.
[0112] Hybrid Cloud: A cloud infrastructure is a composition of two or more clouds (private, community, or public) that remain unique entities but are tied together by standardized or proprietary technologies that enable data and application portability (e.g., cloud bursting for load balancing between clouds).
[0113] Cloud computing environments are service-oriented with an emphasis on statelessness, low coupling, modularity, and semantic interoperability. At the heart of cloud computing is an infrastructure that includes a network of interconnected nodes.
[0114] Aspects of the invention may be systems, methods, and / or computer program products at any possible level of technical detail integration. The computer program product may include a computer-readable storage medium (or media) having computer-readable program instructions for causing a processor to perform aspects of the invention.
[0115] A computer-readable storage medium can be a tangible device that can hold and store instructions for use by an instruction execution device. A computer-readable storage medium can be, for example, but not limited to, an electronic storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination of the above. A non-exhaustive list of more specific examples of computer-readable storage media includes the following: portable computer diskettes, hard disks, random access memories (RAMs), read-only memories (ROMs), erasable programmable read-only memories (EPROMs or flash memories), static random access memories (SRAMs), portable compact disk read-only memories (CD-ROMs), digital versatile disks (DVDs), memory sticks, floppy disks, punch cards or mechanically encoded devices such as raised structures in grooves in which instructions are recorded, and any suitable combination of the above. Computer-readable storage medium, as used herein, is not to be construed as a transitory signal per se, such as an electric wave or other freely propagating electromagnetic wave, an electromagnetic wave propagating through a waveguide or other transmission medium (e.g., light pulses through a fiber optic cable), or an electrical signal transmitted over a wire.
[0116] The computer-readable program instructions described herein can be downloaded from a computer-readable storage medium to each computing / processing device or to an external computer or storage device via a network, such as the Internet, a local area network, a wide area network, and / or a wireless network. The network may include copper transmission cables, optical transmission fiber, wireless transmission, routers, firewalls, switches, gateway computers, and / or edge servers. A network adapter card or network interface in each computing / processing device receives the computer-readable program instructions from the network and transfers the computer-readable program instructions for storage in a computer-readable storage medium in the corresponding computing / processing device.
[0117] The computer readable program instructions for carrying out the operations of the present invention may be either assembler instructions, instruction set architecture (ISA) instructions, machine instructions, machine dependent instructions, microcode, firmware instructions, state setting data, configuration data for an integrated circuit, or source or object code written in any combination of one or more programming languages, including Angular, HTML, CSS, .NET Framework, C#, and Microsoft SQL Server, object oriented programming languages such as Smalltalk or C++, and procedural programming languages such as the "C" programming language, or similar programming languages. The computer readable program instructions may be executed entirely on the user's computer, partly on the user's computer as a stand-alone software package, partly on the user's computer and partly on a remote computer, or entirely on a remote computer or server. In the latter scenario, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or wide area network (WAN), or a connection to an external computer may be made (e.g., through the Internet using an Internet Service Provider). In some embodiments, electronic circuitry including, for example, a programmable logic circuit, a field programmable gate array (FPGA), or a programmable logic array (PLA), may execute computer readable program instructions to personalize the electronic circuitry by utilizing state information of the computer readable program instructions to perform aspects of the invention.
[0118] Aspects of the present invention are described herein with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the invention. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer readable program instructions.
[0119] These computer-readable program instructions may be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine such that the instructions executed by the processor of the computer or other programmable data processing apparatus provide means for performing the functions / operations identified in one or more blocks of the flowcharts and / or block diagrams. These computer-readable program instructions, which may direct a computer, programmable data processing apparatus, and / or other device to function in a particular manner, may also be stored on a computer-readable storage medium such that the computer-readable storage medium on which the instructions are stored includes an article of manufacture including instructions implementing aspects of the functions / operations identified in one or more blocks of the flowcharts and / or block diagrams.
[0120] The computer-readable program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other device to cause a series of operational steps to be executed on the computer, other programmable apparatus, or other device to produce a computer-implemented process such that the instructions executing on the computer, other programmable apparatus, or other device perform the functions / operations identified in one or more blocks of the flowcharts and / or block diagrams.
[0121] The flowchart diagrams and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of the present invention. In this regard, each block in the flowchart diagrams or block diagrams may represent a module, segment, or part of instructions, including one or more executable instructions for implementing a specified logical function. In some alternative implementations, the functions noted in the blocks may occur in a sequence other than that noted in the figures. For example, two blocks shown in succession may in fact be executed substantially simultaneously, or the blocks may sometimes be executed in reverse order depending on the functionality involved. It should also be noted that each block of the block diagrams and / or flowchart diagrams, and combinations of blocks in the block diagrams and / or flowchart diagrams, may be implemented by a dedicated hardware-based system that executes the specified functions or operations, or executes a combination of dedicated hardware and computer instructions.
[0122] In addition to the above, one or more aspects may be provided, delivered, deployed, managed, serviced, etc., by a service provider that manages a customer environment. For example, a service provider may create, maintain, support, etc., computer code and / or computer infrastructure that implements one or more aspects for one or more customers. In exchange, the service provider may receive payments from the customer, by way of example, under a subscription and / or fee agreement. Additionally or alternatively, the service provider may receive payments from sales of advertising content to one or more third parties.
[0123] In one aspect, an application may be deployed to execute one or more embodiments. As one example, deploying the application includes providing a computer infrastructure operable to execute one or more embodiments.
[0124] As a further aspect, a computing infrastructure may be deployed that includes integrating computer readable code into a computing system, where the code is capable of executing one or more embodiments in combination with the computing system.
[0125] As yet a further aspect, a process may be provided for integrating a computing infrastructure comprising integrating computer readable code into a computer system including a computer readable medium, the computer medium including one or more embodiments, the code being capable of executing one or more embodiments in combination with the computer system.
[0126] Although various embodiments have been described above, these are merely examples. For example, different types of unmanned aerial vehicles may be used, as well as other types of neural networks and / or evolutionary algorithms. Many variations are possible.
[0127] Additionally, other types of computing environments may be beneficially used. By way of example, a data processing system suitable for storing and / or executing program code may be used that includes at least two processors coupled directly or indirectly to memory elements by a system bus. The memory elements include, for example, local memory, bulk storage, and cache memory used during the actual execution of the program code to provide temporary storage of at least some of the program code to reduce the number of times the code must be retrieved from bulk storage during execution.
[0128] Input / output or I / O devices (including but not limited to keyboards, displays, pointing devices, DASDs, tapes, CDs, DVDs, thumb drives, and other memory media) can be coupled to the system either directly or through intervening I / O controllers. Network adapters may also be coupled to the system to enable the data processing system to become coupled to other data processing systems or remote printers or storage devices through intervening private or public networks. Modems, cable modems, and Ethernet cards are just a few of the available types of network adapters.
[0129] The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting. As used herein, the singular forms "a," "an," and "the" are intended to include the plural forms unless the context clearly dictates otherwise. Furthermore, it will be understood that the terms "comprise" and / or "comprising," as used herein, specify the presence of stated features, integers, steps, operations, elements, and / or components, but do not exclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and / or groups thereof.
[0130] If any, the corresponding structure, material, operation, and equivalents of all means or steps plus functional elements in the following claims are intended to include any structure, material, or operation for performing a function in combination with other claimed elements as specifically claimed. The description of one or more embodiments has been presented for purposes of illustration and description, but is not intended to be exhaustive or limited to the disclosed forms. Many modifications and variations will be apparent to those skilled in the art. The embodiments have been chosen and described in order to best explain various aspects and practical applications, and to enable others skilled in the art to understand various embodiments with various modifications as suitable for the particular use contemplated.
[0131] It should be understood that all combinations of the above concepts, and additional concepts discussed in more detail herein (provided such concepts are not mutually inconsistent) are contemplated as being part of the inventive subject matter disclosed herein and achieve the benefits and advantages as described herein. In particular, all combinations of claimed subject matter that become apparent at the end of this disclosure are contemplated as being part of the inventive subject matter disclosed herein. Although the invention has been described with reference to specific examples, it should be understood that numerous modifications may be made within the spirit and scope of the inventive concepts described. Thus, it is intended that the disclosure is not limited to the examples described, but has the full scope defined by the language of the following claims.
Claims
1. 1. A machine-implemented method for simplifying a vehicle travel path, comprising: accessing via at least one electronic device a geographic map stored in at least one memory; storing in the at least one memory data representative of one or more driving areas, the driving areas representing a plurality of street segments and a plurality of road junctions, the driving areas being user-specifiable as recommended driving areas, restricted driving areas, or prohibited driving areas; storing in the at least one memory data representative of curve entry configurations, the curve entry configurations representing driving preferences for driving in each driving direction on a street segment, the curve entry configurations being specifiable as no preference, limited or prohibited driving for each opposing direction on the street segment; storing, in the at least one memory, data representative of one or more maneuver configurations at one or more road junctions, the maneuver configurations representing one or more possible driving directions at the one or more road junctions, the maneuver configurations being specifiable as no preference, limited, or prohibited maneuvers; providing one or more of the driving region, the curve entry configuration, and the maneuver configuration as options on the geographic map; Associating a first set of at least one of the one or more driving regions, the one or more curve entry settings, and the one or more maneuver settings with a first driving scenario; displaying as options the driving region, the curve entry settings, and the maneuver settings associated with the first driving scenario on the geographical map on at least one electronic device; The machine-implemented method, wherein based on associating a first set of at least one of the one or more driving regions, the one or more curve entry settings, and the one or more maneuvering settings with a first driving scenario, a processor generates a driving path based on the first driving scenario, and the at least one electronic device displays the driving path traveled by the vehicle.
2. The method of claim 1 , wherein providing as an option further comprises providing one or more driving areas on the geographic map.
3. The method of claim 1 , wherein the first driving scenario selected is based on one or more of the following: time of day, season, events affecting traffic, fuel status, and road construction.
4. The method of claim 1 , further comprising storing the first driving scenario in the at least one memory from which the geographical map is selected.
5. The method of claim 1 , wherein the at least one electronic device comprises an electronic device in the vehicle.
6. Overriding at least one of a driving region, a curve entry setting, and a maneuver setting associated with the first driving scenario; generating, by a processor, a revised travel path based on said overriding step; The method of claim 2 , further comprising: displaying the revised driving route traveled by the vehicle on the at least one electronic device.
7. The method of claim 6 , wherein the overriding step is performed by a vehicle operator or administrator.
8. associating a second set of at least one of the one or more driving regions, the one or more curve entry settings, and the one or more maneuver settings with a second driving scenario, the second set being different from the first set; displaying the driving region, the curve entry settings, and the maneuver settings associated with the second driving scenario on the geographical map on the at least one electronic device; The method of claim 2 , wherein a processor generates a driving route based on the second driving scenario, and the at least one electronic device displays the driving route traveled by the vehicle.
9. A computer system for simplifying a vehicle driving route, comprising: At least one memory; one or more processors in communication with the at least one memory; The computer system is configured to execute a method, the method comprising: accessing the geographic map stored in the at least one memory via at least one electronic device; storing in the at least one memory data representative of one or more driving areas, the driving areas representing a plurality of street segments and a plurality of road junctions, the driving areas being user-specifiable as recommended driving areas, restricted driving areas, or prohibited driving areas; storing in the at least one memory data representative of curve entry configurations, the curve entry configurations representing driving preferences for driving in each driving direction on a street segment, the curve entry configurations being specifiable as no preference, limited or prohibited driving for each opposing direction on the street segment; storing, in the at least one memory, data representative of one or more maneuver configurations at one or more road junctions, the maneuver configurations representing one or more possible driving directions at the one or more road junctions, the maneuver configurations being specifiable as no preference, limited, or prohibited maneuvers; providing one or more of the driving areas as options on the geographic map, the driving areas being designated as recommended, restricted, or prohibited driving areas; providing one or more of the curve entry configurations on the geographic map, the curve entry configurations being designated as no preference, restricted, or prohibited travel for each of the opposing directions of the street segment; providing one or more of the maneuver settings for one or more road junctions in the geographic map, the maneuver settings being designated as no preference, limited, or prohibited maneuvers; Associating a first set of at least one of the one or more driving regions, the one or more curve entry settings, and the one or more maneuver settings with a first driving scenario; displaying the driving region, the curve entry settings, and the maneuver settings associated with the first driving scenario on the geographical map on at least one electronic device; A processor generates a driving route based on the first driving scenario, and the at least one electronic device displays the driving route traveled by the vehicle.
10. The system of claim 9 , wherein providing as options further comprises providing one or more driving areas on the geographic map.
11. The system of claim 9 , wherein the first driving scenario selected is based on one or more of time of day, season, events affecting traffic, and road construction.
12. The system of claim 9 , wherein the method further comprises storing the first driving scenario in the at least one memory from which the geographical map is selected.
13. The system of claim 9 , wherein the at least one electronic device comprises an electronic device in the vehicle.
14. The method comprises: Overriding at least one of a driving region, a curve entry setting, and a maneuver setting associated with the first driving scenario; generating, by a processor, a revised travel path based on said overriding step; The system of claim 10 , further comprising: displaying the modified driving route traveled by the vehicle on the at least one electronic device.
15. The system of claim 14 , wherein the overriding step is performed by a vehicle operator or administrator.
16. The method comprises: selecting a second driving scenario and associating a second set of one or more of the driving region, the curve entry settings, and the maneuver settings with the second driving scenario, the second set being different from the first set; displaying the driving region, the curve entry settings, and the maneuver settings associated with the second driving scenario on the geographical map on the at least one electronic device; Further comprising: The processor generates a driving route based on the second driving scenario; The system of claim 10 , wherein the at least one electronic device displays the route traveled by the vehicle.
17. 1. A computer program product for simplifying a vehicle driving route, comprising: and at least one computer-readable storage medium readable by a processing circuit and storing instructions for performing a method, said method comprising: accessing via at least one electronic device a geographic map stored in at least one memory; storing in the at least one memory data representative of one or more driving areas, the driving areas representing a plurality of street segments and a plurality of road junctions, the driving areas being user-specifiable as recommended driving areas, restricted driving areas, or prohibited driving areas; storing in the at least one memory data representative of curve entry configurations, the curve entry configurations representing driving preferences for driving in each driving direction on a street segment, the curve entry configurations being specifiable as no preference, limited or prohibited driving for each opposing direction on the street segment; storing, in the at least one memory, data representative of one or more maneuver configurations at one or more road junctions, the maneuver configurations representing one or more possible driving directions at the one or more road junctions, the maneuver configurations being specifiable as no preference, limited, or prohibited maneuvers; providing one or more of the driving areas as options on the geographic map, the driving areas being designated as recommended, restricted, or prohibited driving areas; providing one or more of the curve entry configurations on the geographic map, the curve entry configurations being designated as no preference, restricted, or prohibited travel for each of the opposing directions of the street segment; providing one or more of the maneuver settings for one or more road junctions in the geographic map, the maneuver settings being designated as no preference, limited, or prohibited maneuvers; Associating a first set of at least one of the one or more driving regions, the one or more curve entry settings, and the one or more maneuver settings with a first driving scenario; displaying the driving region, the curve entry settings, and the maneuver settings associated with the first driving scenario on the geographical map on at least one electronic device; A processor generates a driving route based on the first driving scenario, and the at least one electronic device displays the driving route traveled by the vehicle.
18. 20. The computer program product of claim 17, wherein providing as an option further comprises providing one or more driving areas on the geographic map.
19. 20. The computer program product of claim 17, wherein the first driving scenario is based on one or more of a time of day, a season, an event affecting traffic, and a road construction.
20. 20. The computer program product of claim 17, further comprising storing the first driving scenario in the at least one memory from which the geographical map is selected.
21. 20. The computer program product of claim 17, wherein the at least one electronic device comprises an electronic device in the vehicle.
22. The method comprises: Overriding at least one of a driving region, a curve entry setting, and a maneuver setting associated with the first driving scenario; generating, by a processor, a revised travel path based on said overriding step; 20. The computer program product of claim 18, further comprising: displaying the modified driving route traveled by the vehicle on the at least one electronic device.
23. The method comprises: associating a second set of at least one of the one or more driving regions, the one or more curve entry settings, and the one or more maneuver settings with a second driving scenario, the second set being different from the first set; displaying the driving region, the curve entry settings, and the maneuver settings associated with the second driving scenario on the geographical map on the at least one electronic device; 20. The computer program product of claim 18, wherein a processor generates a driving route based on the second driving scenario, and the at least one electronic device displays the driving route traveled by the vehicle.
Citation Information
Patent Citations
Route guidance equipment for vehicle
JP1998038597A
Information display, route-setting apparatus and navigation apparatus
JP2002156236A
Hybrid car
JP2003111208A
Traffic information processing database, traffic information processing apparatus, system thereof, method thereof, program thereof, recording medium where same program is recorded, and guiding and leading device
JP2006350089A
Navigation system
JP2007232427A
