Abstract:
A method for determining a route for a vehicle includes receiving input indicative of a driver&#39;s dynamic control of the vehicle, determining the driver&#39;s driving style based on the input, and selecting values of parameters representing the driver&#39;s anticipated dynamic control of the vehicle based on the driving style. The method also includes identifying a plurality of candidate routes between an origin and destination, partitioning each of the candidate routes into a set of predefined route patterns, and determining an energy usage associated with each of the candidate routes based on the selected values and the set of predefined route patterns defining the candidate route. The method further includes identifying the candidate route having the minimum energy usage and providing output describing the route having the minimum energy usage.

Description:
TECHNICAL FIELD 
       [0001]    This disclosure relates to algorithms for selecting a fuel efficient vehicle driving route and systems implementing the same. 
       BACKGROUND 
       [0002]    Global Positioning System (GPS) information may be used to determine a route from an origin to a destination. Certain routes may be longer in distance than others. Similarly, certain routes may have greater travel times than others. There are factors, however, that determine the energy or fuel usage associated with a certain route that may not be correlated with the distance or travel time in a predictable manner. 
       SUMMARY 
       [0003]    A navigation system for a vehicle receives input indicative of a driver&#39;s dynamic control of the vehicle, determines the driver&#39;s driving style based on the input, and selects values of parameters representing the driver&#39;s anticipated dynamic control of the vehicle based on the driving style. The navigation system further identifies a route between an origin and destination that minimizes energy consumption of the vehicle based on the selected values. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0004]      FIG. 1  is a block diagram of an automotive vehicle. 
           [0005]      FIG. 2  is a flow chart of a vehicle route prediction algorithm. 
           [0006]      FIG. 3  is a flow chart of a method for collecting and creating mean vehicle efficiency tables using simulations or vehicle test data. 
           [0007]      FIG. 4  is a flow chart of a route energy prediction algorithm. 
           [0008]      FIG. 5  is a flow chart of a driver style identification algorithm. 
           [0009]      FIG. 6  is a flow chart of a route-energy calculation algorithm. 
       
    
    
     DETAILED DESCRIPTION 
       [0010]    Embodiments of the present disclosure are described herein; however, it is to be understood that the disclosed embodiments are merely examples and other embodiments can take various and alternative forms. The figures are not necessarily to scale; some features could be exaggerated or minimized to show details of particular components. Therefore, specific structural and functional details disclosed herein are not to be interpreted as limiting, but merely as a representative basis for teaching one skilled in the art to variously employ the present invention. As those of ordinary skill in the art will understand, various features illustrated and described with reference to any one of the figures can be combined with features illustrated in one or more other figures to produce embodiments that are not explicitly illustrated or described. The combinations of features illustrated provide representative embodiments for typical applications. Various combinations and modifications of the features consistent with the teachings of this disclosure, however, could be desired for particular applications or implementations. 
         [0011]      FIG. 1  is a schematic block diagram of a system for determining a vehicle route optimized for fuel economy or energy efficiency. Within a vehicle  8 , a user inputs a destination address using the user-interface  10  which can either be a touch screen (display)  18  or a keyboard. The destination point is sent to one or more vehicle controllers to compute the route. The present position of the vehicle  8  may be used as an origin point. The controllers  12  may interface with the telematics computer in the vehicle  8  and a plurality of vehicle sensors  14  to receive vehicle data such as energy usage, temperature, vehicle weight and vehicle load. The vehicle sensor information can be obtained through, for example, an OBD port (not shown). The controllers  12  may need to have an interface with the OBD port which can send vehicle readings through the wired connection. Alternatively, the OBD port can be interfaced wirelessly using Bluetooth or other similar short-range wireless protocols. The controllers  12  also interface with a database  16  that stores roadway map, traffic and weather information for a given route. The controllers  12  can receive this information locally when it is stored in the telematics computer in the vehicle  8 . It can also be downloaded remotely using either a mobile modem or cellular broadband network on a mobile phone. Once the controllers  12  have received the information from the database  16 , the controllers  12  may analyze the route information and propose a number of candidate routes. The controllers  12  may calculate the estimated energy usage for a given route and display that information via the display screen  18 . 
         [0012]    There are often many possible routes that can be taken between the origin point A and destination point B. Currently, many GPS systems optimize based on distance or travel time. It may also be possible to optimize based on energy usage or fuel consumption. Because the total energy usage is based on a variety of factors (See Equation 1) both linear and non-linear, it is not directly correlated with distance or travel time. 
         [0000]    
       
         
           
             
               
                 
                   
                     E 
                     
                       route 
                       i 
                     
                   
                   = 
                   
                     
                       Distance 
                       
                         route 
                         i 
                       
                     
                     
                       
                         ( 
                         
                           η 
                           veh 
                         
                         ) 
                       
                       
                         route 
                         i 
                       
                     
                   
                 
               
               
                 
                   ( 
                   1 
                   ) 
                 
               
             
           
         
       
     
         [0000]    E route  is the total energy used for a particular route and η veh  is the vehicle energy efficiency coefficient. This coefficient is unique to each vehicle and determines how much fuel is used for a particular distance. η veh  is calculated in Equation 2. 
         [0000]    
       
         
           
             
               
                 
                   
                     η 
                     veh 
                   
                   = 
                   
                     
                       
                         ∫ 
                         0 
                         t 
                       
                        
                       
                         v 
                          
                         
                             
                         
                          
                         
                            
                           t 
                         
                       
                     
                     
                       
                         
                           ∫ 
                           0 
                           t 
                         
                          
                         
                           
                             P 
                             load 
                           
                           
                             η 
                             
                               sys_operation 
                                
                               _eff 
                             
                           
                         
                       
                        
                       
                           
                       
                     
                   
                 
               
               
                 
                   ( 
                   2 
                   ) 
                 
               
             
           
         
       
     
         [0000]    ∫ 0   t  ν dt is the integral of the velocity of the vehicle for the time it travels. P load  is the road load and η sys     —     operation     —     eff  is the overall system efficiency based on the efficiency of the power train and the driveline. The road load, P load,,  may be described as the power required to push the vehicle through a particular distance. This is described in equation 3. 
         [0000]    
       
         
           
             
               
                 
                   
                     P 
                     load 
                   
                   = 
                   
                     
                       
                         M 
                         veh 
                       
                        
                       g 
                        
                       
                           
                       
                        
                       
                         sin 
                          
                         
                           ( 
                           
                             β 
                             incline 
                           
                           ) 
                         
                       
                     
                     + 
                     
                       
                         M 
                         veh 
                       
                        
                       g 
                        
                       
                           
                       
                        
                       
                         vf 
                         roll 
                       
                        
                       
                         cos 
                          
                         
                           ( 
                           
                             β 
                             incline 
                           
                           ) 
                         
                       
                     
                     + 
                     
                       
                         
                           ρ 
                           air 
                         
                         2 
                       
                        
                       
                         
                           ( 
                           
                             v 
                             + 
                             
                               v 
                               0 
                             
                           
                           ) 
                         
                         2 
                       
                        
                       
                         A 
                         frontal 
                       
                        
                       
                         C 
                         drag 
                       
                     
                     + 
                     
                       
                         M 
                         veh 
                       
                        
                       
                         v 
                         . 
                       
                        
                       v 
                     
                   
                 
               
               
                 
                   ( 
                   3 
                   ) 
                 
               
             
           
         
       
     
         [0000]    where 
         [0013]    M veh : Vehicle Mass 
         [0014]    g: Gravitational Acceleration Constant 
         [0015]    β incline : Grade Angle 
         [0016]    ν: Vehicle Speed 
         [0017]    f roll : Rolling Resistance Coefficient 
         [0018]    ρ air : Air Density 
         [0019]    ν 0 : Head Wind Velocity 
         [0020]    A frontal : Frontal Area 
         [0021]    C drag : Aerodynamic Drag Coefficient 
         [0000]    Since g and ρ air  are constants, the factors which impact the overall power requirements for a vehicle are described in equation 4. These factors are not linear and are difficult to predict because they are dependent on many features unique to particular routes. Therefore, it is difficult to calculate. 
         [0000]        P   load   =P   load ( M   veh ,β incline   ,ν,f   roll ,ν 0   ,A   frontal   ,C   drag )  (4)
 
         [0000]    The system operation efficiency η sys     —     operation     —     eff  consists of driveline efficiency and powertrain efficiency. η sys     —     operation     —     eff  is affected by the vehicle speed profile, road load profile, control strategy, vehicle configuration and parameters, driver, and other environment factors. In general, it can be written as 
         [0000]      η sys     —     operation     —     eff =η sys     —     operation     —     eff (ν, P   load ,Controller,Veh,Driver,Enviroment)  (5)
 
         [0000]    ν is the vehicle speed profile and P load  is the road load profile. The vehicle speed profile is the amount of energy expended while driving at a particular speed. The road load profile is the amount of power required to accelerate the vehicle. The Controller in equation 5 determines how the energy management is performed. The variable referred to as Environment refers to factors such as humidity and outside temperature that could affect power train efficiency. Some of these factors could be outside temperature, altitude, humidity and wind speed. 
         [0022]    The Veh in Equation 5 includes other important factors related to vehicle-specific features such as weight. These maybe viewed as a constant for most vehicles. However, there are some factors in the vehicle that vary such as tire pressure, accessory load, state of charge (SOC) and battery efficiency. The Driver in equation 5 refers to the driving style or how the driver drives the vehicle. This may affect the energy usage significantly. Parameters that could be measured to determine the driving style and its impact on the fuel usage can be the overall aggressiveness of the driver, braking style, gear shifting or how he adjusts his driving to external conditions. Collectively these factors can be referred to as “driving style.” 
         [0023]    The factors described in equation 5 are normally represented by non-differentiable data maps obtained through tests under certain environmental settings. Vehicle tests or large-scale simulation models through physical modeling are the most effective way to capture its characteristics because it can be computationally intensive to derive these factors analytically. 
         [0024]    From equations (2), (4) and (5), the factors that are constant across all routes such as vehicle weight are removed from the calculations. The factors that change based on the driver or route are left and the following equation may be simplified as a function η veh  as follows: 
         [0000]      η veh =η veh ( M   veh ,β incline   ,ν,f   roll ,ν 0   ,A   frontal   ,C   drag ,Controller,Veh,Driver,Enviroment)  (6)
 
         [0025]    Since A frontal  and M veh  can be grouped into ‘Vehicle’ factors, and ν 0  and C drag  can be combined with the ‘Environmental’ factors, the function to determine vehicle efficiency from equation (6) can be further simplified as follows: 
         [0000]      η veh =η veh (β incline   ,f   roll ,ν,Controller,Veh,Driver,Enviroment)  (7)
 
         [0000]    As Equation 8 shows, the total energy used in a sub-route is a function of the vehicle efficiency, grade, road surface condition, velocity, vehicle controllers, driver, and the environment: 
         [0000]    
       
         
           
             
               
                 
                   
                     
                       E 
                       
                         sub 
                         - 
                         
                           route 
                           i 
                         
                       
                     
                      
                     
                       ( 
                       t 
                       ) 
                     
                   
                   = 
                   
                     
                       ( 
                       
                         Distance 
                         
                           sub 
                           - 
                           
                             route 
                             i 
                           
                         
                       
                       ) 
                     
                     
                       
                         
                           η 
                           veh 
                         
                          
                         
                           ( 
                           
                             
                               
                                 
                                   
                                     β 
                                     incline 
                                   
                                   , 
                                   
                                     f 
                                     roll 
                                   
                                   , 
                                   v 
                                   , 
                                   Controller 
                                   , 
                                   Veh 
                                   , 
                                 
                               
                             
                             
                               
                                 
                                   Driver 
                                   , 
                                   Enviroment 
                                 
                               
                             
                           
                           ) 
                         
                       
                       
                         sub 
                         - 
                         
                           route 
                           i 
                         
                       
                     
                   
                 
               
               
                 
                   ( 
                   8 
                   ) 
                 
               
             
           
         
       
     
         [0000]    where 
         [0026]    M veh : Vehicle Mass 
         [0027]    g: Gravitational Acceleration Constant 
         [0028]    β incline : Grade Angle 
         [0029]    ν: Vehicle Speed 
         [0030]    f roll : Rolling Resistance Coefficient 
         [0031]    ρ air : Air Density 
         [0032]    ν 0 : Head Wind Velocity 
         [0033]    A frontal : Frontal Area 
         [0034]    C drag : Aerodynamic Drag Coefficient 
         [0000]    These parameters may not be estimated using information about the current state because they exhibit non-linear behavior as they transition from one state to the next. Therefore, estimating the total energy required can be computationally intensive because there could be an infinite number of possible values for each future step. 
         [0035]    Certain approaches for estimating the total energy required to travel a route can include estimating vehicle speed, traffic and roadway conditions using pre-existing map data based on mean conditions for a given route. These estimates, however, could vary greatly from the actual energy usage since these solutions are generally not customized for each individual driver. These estimates may also not be finely-tuned to account for changes in roadway conditions or traffic profiles during different parts of the day for example. 
         [0036]    In certain algorithms disclosed herein, many of the above parameters are classified into nodes. Each of these nodes represents an estimate for the energy usage. The energy efficiency of these nodes is used to estimate the total energy output. A vehicle can be used to collect data based on different roadway conditions and driving styles (see  FIG. 3 ). Based on the data collected, the energy usage for similar routes can be extrapolated. 
         [0037]      FIG. 2  is a flow chart illustrating a vehicle route prediction algorithm using pattern-matching. At operation  19 A- 19 B, energy-usage data is collected by performing off-board model simulations or vehicle tests to formulate look-up tables. The look-up tables can contain various parameters such as those listed in  FIG. 3 . For each variation in the value for a parameter, a different energy efficiency value is listed. Although the future speed of a vehicle, roadway conditions and traffic can be difficult to precisely predict and calculate, a single vehicle&#39;s average energy efficiency is fairly consistent if it is operated within similar driver patterns, roadway conditions and traffic profiles. 
         [0038]    The parameters used for calculating vehicle energy-usage are divided into two categories: route-independent and route-dependent. For each type of route-dependent factor as classified in  FIG. 3 , one can obtain an output of an energy usage factor. For example, the rate of acceleration of the accelerator pedal increases energy usage even when travelling with the same velocity over the same route. Consequently, for each route pattern, vehicle energy usage data is collected by driving the car through known-routes, or alternatively by performing off-board simulations. A route pattern is a set of road conditions (such as incline, curvature, and roadway condition), traffic conditions and weather information that can be used to classify the route-dependent factors on a roadway. This operation calculates and stores that average vehicle energy efficiency among a plurality of route-dependent parameters. After obtaining the vehicle efficiency data, look-up tables can be created and stored. The method for obtaining the training data will be discussed in further detail with reference to  FIG. 3 . 
         [0039]    At operation  19 A, many vehicles are tested to collect training data. At operation  19 B, based on a set of training data collected at operation  19 A, a number of multi-dimensional look-up tables can be created. The look-up tables contain various route-independent values that can be matched with the energy efficiency prediction for a plurality of route-dependent values. The look-up tables can be stored locally within the on-board telematics device or stored remotely on a server. After retrieving route-independent information, appropriate look-up table(s) may be downloaded. These look-up tables may contain estimates of route-dependent parameters along with correlated possible energy usage predictions for each type of route-independent vehicle information. 
         [0040]    At operation  20 , the destination is retrieved from the user. The user can manually input the destination on the keypad. At operation  22 , the algorithm determines all possible sub-routes. For each sub-route, route-dependent information is matched (using pattern matching techniques) to a similar route-dependent factor gathered earlier using off-board simulations at operation  24 . Pattern matching will be discussed in further detail with reference to  FIG. 4 . The route dependent factors, in this example, include speed limit, traffic level, traffic light number, etc. The energy-usage is obtained using pattern-recognition techniques that will be discussed further with reference to  FIG. 4 . 
         [0041]    There are two-types of route dependent factors: ‘dominant factors’ and ‘non-dominant factors.’ Examples of dominant route-dependent factors may include speed and roadway conditions. Dominant factors have a non-linear interaction with the overall vehicle energy usage calculation. The impact of dominant factors on the energy calculation is acquired by matching each value for a dominant factor to a value on the look-up table using pattern-matching techniques. These values are gathered to estimate energy usage. Non-dominant route-dependent factors can include wind and road wetness. The non-dominant factors could only have a minor impact on the overall energy-fuel usage calculation. Therefore, intensive pattern-matching may not significantly improve the overall vehicle energy usage calculation to justify the increased computational load. The non-dominant factors can be incorporated though a modifier. A modifier can be a linear multiplier or another similar computationally simple function used to estimate the non-dominant factor instead of using the look-up table, which could be more computationally intensive. 
         [0042]    At operation  26 , the algorithm decides whether or not a factor is dominant or non-dominant. At operation  28 , for each of the dominant factors within the particular sub-route, the algorithm can run a pattern matching analysis in which the pattern-matching algorithm will match the factors to find estimated energy usage for each of the candidate sub-routes. 
         [0043]    At operation  30 , the route-independent factors are retrieved. These factors are defined as factors whose variation is not a function of the route. They can be viewed as relatively static factors for all candidate routes. Thus, they can share the same look-up tables for online computation. The route-independent factors can impact the energy-usage calculation in such a way that they cannot be simplified or abstracted away from the algorithm. For example, a vehicle&#39;s weight could remain the same for all candidate routes when using a particular vehicle, but the impact of the vehicle&#39;s weight on energy efficiency for Route A and Route B can be different depending on many factors such as the inclination of the route, wind speed and drag. If a route has a steep inclination, the vehicle&#39;s weight will significantly increase the total energy usage. Hence, the route-independent factors should be included in the energy calculation. 
         [0044]    Route-independent factors are relatively stable and can be retrieved using the vehicle sensors  14  ( FIG. 1 ). There are two types of route-independent factors: ‘time-invariant’ and ‘time-variant.’ Time-invariant factors do not change for a specific vehicle over time. These factors include vehicle configuration, total frontal area and vehicle design. Time-variant factors can change over time. They can also be unique to each individual driver. These include driving style, temperature, vehicle weight, accessory load, tire pressure, battery efficiency and state of charge (SOC). 
         [0045]    To determine driving style, a pattern recognition algorithm can be used, which will be discussed further with reference to  FIG. 4 . The vehicle&#39;s weight is an example of a time-variant factor because although a vehicle generally has constant weight, the load distribution of the vehicle can change. This is especially true for fleet vehicles and trucks. Therefore, it can be important to calculate the vehicle&#39;s weight each time the algorithm is used. Tire pressure, battery efficiency and state of charge can also be calculated using vehicle sensors. At operation  28 , the algorithm loads this data and then accesses the correct multi-dimensional look-up table based on the particular route-independent factor for a given vehicle. 
         [0046]    At operation  32 , the multi-dimensional look-up table is retrieved to allow the parameters that need to be substituted into the time-invariant factors to be held constant. This saves possible intensive computational calculations. 
         [0047]    At operation  34  based on the multi-dimensional look up table, energy usage for candidate sub-routes are calculated for each of the possible routes. At operation  38 , the modifiers are located for all the non-dominant factors for the candidate sub-route. At operation  34 , the energy routes are re-calculated using the modifier. The modifier can be a constant that is multiplied with the overall route energy, or it can be a linear modifier. Since the modifiers play a relatively minor role in the overall route-energy calculation, it may not be worth the intensive computation to compute them exactly. Modifiers also allow for faster computation as they are not resource-intensive. At operation  40 , the algorithm determines if all the possible sub-routes have been iterated through. If they have not, then the algorithm returns to operation  24 . Else, after the modified energy route has been calculated for all possible sub-routes, at operation  42 , the algorithm searches through and compares all the possible energy calculations and identifies the route that consumes the minimum energy. The search can be performed using either a Dijkstra algorithm or an A* algorithm which is well known in the art. This route is then presented to the user. 
         [0048]      FIG. 3  illustrates the method for collecting and creating the mean vehicle efficiency tables using simulations or vehicle test data. For each set of route-independent information, a corresponding look-up table with various route-dependent factors along with an estimated energy usage is created. Once the route-independent information is determined, the appropriate table can be loaded. Since significant non-linear factors for calculating vehicle efficiency are based upon route patterns which include roadway type, traffic conditions and speed profiles, it is possible to collect data on how the vehicle behaves in terms of energy efficiency with respect to these conditions. At operation  46 , the route-independent data is held constant so that different route patterns can be collected. The mean energy efficiency does not vary significantly for similar route patterns. Consequently, collecting test data for these parameters allows the algorithm to store the mean vehicle efficiency in a table to minimize real-time computation. Energy usage with different route patterns can be estimated using certain parameters: total driving distance, average velocity, maximum velocity, standard deviation of acceleration, mean acceleration, mean deceleration, maximum deceleration, percent of time spent in speed interval 15-30 km/h, percent of time spent in speed interval 30-50 km/h, percent of time spent above 110 km/h, percent of time spent decelerating greater than 2.5 m/s, percent of time spent decelerating between 2.5-1.5 m/s, etc. 
         [0049]    At operation  48 , the number of the different types of route patterns as mentioned above is set to the total number of possible iterations, and the iteration index K is initialized to 0. At operation  50 , this algorithm is executed for each type of vehicle. The vehicle can iterate through different route patterns. At operations  52 - 54 , the algorithm decides whether it has iterated through all possible route patterns. The energy efficiency numbers generated above are needed for the on-board route energy calculation. The average vehicle energy efficiency should be consistent when simulated in the same route pattern, but it varies with different route patterns so that the route energy is accurately tied to driving conditions. Operation  56  performs the total number of route pattern iterations and the results can be stored in tables to be used on-board. This is then repeated to cover all types of route-independent information. Based on this information, look-up tables are created with the particular information (as mentioned above with respect to  FIG. 2  at operation  19 A- 19 B). The look-up tables can contain average vehicle energy for each type of route-independent condition and roadway condition. This will allow the algorithm to estimate different types of roadway conditions to calculate the vehicle energy efficiency. 
         [0050]    After collecting the data with a list of different driving pattern types, the algorithm matches these parameters to the existing values.  FIG. 4  is a flow chart of the pattern recognition and matching algorithm. At operation  60 , the dominant factors are identified. These values are sent to a hidden layer at operation  62 . The hidden layer has two functions: one of matching known data to existing output layers, the other of classifying new input and output sets with appropriate functions. If there is a set of training data, the hidden layer takes the set of inputs along with the set of known outputs and constructs a function to map the inputs to the outputs. In operation  62 A, for each set of inputs, the algorithm sends the input through the function to extrapolate an output. In operation  62 B, the hidden layer takes a value for the dominant factor and extrapolates it into a pattern matching parameter listed in  FIG. 3 . For example, if a particular roadway has a traffic condition of “congested,” it will have similar values for the various parameters mentioned in the discussion of  FIG. 3 . Therefore, one can take the values of the dominant factors and run them through the function generated by the pattern-matcher. If this roadway&#39;s traffic condition matches what is classified as “high,” the output will be information as to what values from the look-up table to retrieve. In operation  64 , these parameters are extrapolated such that for every input factor there is an approximation parameter to be used to calculate route energy. 
         [0051]      FIG. 5  is a flow chart of an algorithm for identifying driving-style of the individual user through the use of pattern matching techniques. At operation  70 , the vehicle identifies the driver. If the vehicle has already matched a particular driving style with a drive, the vehicle will input the previously determined driving style into the variables. One method of identifying a driver includes recognizing a unique signature in a key that is used to operate the vehicle. Alternatively, the vehicle could interface with the driver&#39;s mobile phone to identify the driver. At operation  71 , the vehicle determines if the driver is a known driver or not. This can be done through identifying the unique key that is located on the key fob. If the driver is known, at operation  74 , and if the vehicle has already identified the driving-style of this particular driver, then the vehicle loads the profile containing this particular driver&#39;s driving style into the system (loading parameters indicative of the driver&#39;s dynamic control of the vehicle). If, however, the driver is not a previously identified driver, at operation  77 , a default driving style is loaded to perform a preliminary identification of a route while the driver&#39;s driving style is being matched. If there is no data available, then the default driving style is also loaded while the driving style of that particular driver is calculated. At operation  80 , the driving style is calculated based on various parameters such as rate of acceleration (jerk). The driving style is then determined using pattern matching. This can be based on the idea that the expected driving style or dynamic control of the vehicle will have different energy usage even within the same route. Classifying the driving style allows for prediction of expected vehicle control by the driver. Hence, expected energy consumption can be more effectively predicted. At operation  81 , the driving data is recognized through pattern matching techniques similar to those described with reference to  FIG. 4  or other known machine learning techniques. 
         [0052]      FIG. 6 . is a flow chart of the route-energy calculation. At step  100 , the dominant factors are loaded. This includes both route-dependent and route independent information. At operation  102 , the predicted traffic model is loaded. At operation  104 , route independent and route dependent information is sent to the pattern extraction section as described with reference to  FIG. 3 . The patterns are extracted into important parameters. At operation  106 , the extracted patterns are sent to the pattern recognition sub-route that was referenced in  FIG. 4 . The pattern recognition algorithm then recognizes the route patterns and driving style as described with reference to  FIG. 4 . At operation  108 , based on the values input into the pattern recognition algorithm, the appropriate look-up tables are loaded. The values in these look-up tables are used to calculate the candidate route energy at operation  110 . At operation  112 , the non-dominant factors are loaded. At operation  114 , modifiers are loaded and used to compute the total estimated route energy. At operation  116 , the total route energy is computed for a candidate route. 
         [0053]    The processes, methods, or algorithms disclosed herein can be deliverable to/implemented by a processing device, controller, or computer, which can include any existing programmable electronic control unit or dedicated electronic control unit. Similarly, the processes, methods, or algorithms can be stored as data and instructions executable by a controller or computer in many forms including, but not limited to, information permanently stored on non-writable storage media such as ROM devices and information alterably stored on writeable storage media such as floppy disks, magnetic tapes, CDs, RAM devices, and other magnetic and optical media. The processes, methods, or algorithms can also be implemented in a software executable object. Alternatively, the algorithms can be embodied in whole or in part using suitable hardware components, such as Application Specific Integrated Circuits (ASICs), Field-Programmable Gate Arrays (FPGAs), state machines, or other hardware components or devices, or a combination of hardware, software and firmware components. 
         [0054]    While exemplary embodiments are described above, it is not intended that these embodiments describe all possible forms encompassed by the claims. The words used in the specification are words of description rather than limitation, and it is understood that various changes can be made without departing from the spirit and scope of the disclosure and claims. As previously described, the features of various embodiments can be combined to form further embodiments of the invention that may not be explicitly described or illustrated. While various embodiments could have been described as providing advantages or being preferred over other embodiments or prior art implementations with respect to one or more desired characteristics, those of ordinary skill in the art recognize that one or more features or characteristics can be compromised to achieve desired overall system attributes, which depend on the specific application and implementation. These attributes can include, but are not limited to, cost, strength, durability, life cycle cost, marketability, appearance, packaging, size, serviceability, weight, manufacturability, ease of assembly, etc. As such, embodiments described as less desirable than other embodiments or prior art implementations with respect to one or more characteristics are not outside the scope of the disclosure and could be desirable for particular applications.