Predictive grade optimization in cruise control
11052896 ยท 2021-07-06
Assignee
Inventors
Cpc classification
B60W2050/0026
PERFORMING OPERATIONS; TRANSPORTING
B60W10/06
PERFORMING OPERATIONS; TRANSPORTING
B60W2552/20
PERFORMING OPERATIONS; TRANSPORTING
B60W2552/15
PERFORMING OPERATIONS; TRANSPORTING
B60W50/0097
PERFORMING OPERATIONS; TRANSPORTING
International classification
Abstract
A cruise control method includes: receiving, by a controller of the vehicle, a set speed, a maximum allowed speed, and a minimum allowed speed, wherein each of the maximum allowed speed and the minimum allowed speed is a speed boundary of an allowed speed range; commanding, by the controller, a propulsion system to produce a commanded axle torque to maintain the set speed; monitoring a current speed of the vehicle; monitoring an elevation of a terrain at predetermined-upcoming locations of the vehicle based on upcoming elevation data from a map database; generating an elevation look-ahead table using the elevation of the terrain at the predetermined-upcoming locations of the vehicle; and determining projected speeds of the vehicle at each of the predetermined-upcoming locations of the vehicle as a function of the current speed of the vehicle and the elevation of the terrain at the predetermined-upcoming locations.
Claims
1. A cruise control method to control a vehicle, comprising: receiving, by a controller of the vehicle, a set speed, a maximum allowed speed, and a minimum allowed speed, wherein each of the maximum allowed speed and the minimum allowed speed is a speed boundary of an allowed speed range; commanding, by the controller, a propulsion system to produce a commanded axle torque to maintain the set speed; monitoring a current speed of the vehicle; monitoring an elevation of a terrain at predetermined-upcoming locations of the vehicle based on upcoming elevation data; generating an elevation look-ahead table using the elevation of the terrain at the predetermined-upcoming locations of the vehicle, wherein the elevation look-ahead table includes a plurality of look-ahead elevation points; determining projected speeds of the vehicle at each of the predetermined-upcoming locations of the vehicle as a function of the current speed of the vehicle and the elevation of the terrain at the predetermined-upcoming locations of the vehicle; generating a projected-speed table using the projected speeds of the vehicle at each of the predetermined-upcoming locations of the vehicle; comparing each of the projected speeds of the vehicle at each of the predetermined-upcoming locations with the allowed speed range; determining whether at least one of the projected speeds is outside the allowed speed range; and in response to determining that the at least one of the projected speeds is outside the allowed speed range, commanding, by the controller, the propulsion system of the vehicle to adjust the commanded axle torque in order to maintain an actual speed of the vehicle within the allowed speed range at each of the predetermined-upcoming locations.
2. The cruise control method of claim 1, further comprising identifying a first speed point in the projected-speed table that is less than the minimum allowed speed.
3. The cruise control method of claim 2, further comprising finding a first local minimum in the projected-speed table.
4. The cruise control method of claim 3, further comprising determining a distance from a current location of the vehicle to a location at the first local minimum, wherein the distance from the current location of the vehicle to the location at the first local minimum is a peak distance.
5. The cruise control method of claim 4, further comprising setting a desired speed at the peak distance to be the minimum allowed speed.
6. The cruise control method of claim 5, further comprising computing a scaled projected speed table as a function of the minimum allowed speed and the first local minimum.
7. The cruise control method of claim 6, further comprising computing a required work input to achieve the minimum allowed speed at the peak distance as a function of a mass of the vehicle and the minimum allowed speed.
8. The cruise control method of claim 7, further comprising calculating an adjusted torque required to achieve the minimum allowed speed at the peak distance as a function of the required work input.
9. The cruise control method of claim 8, further comprising re-computing the projected speed table as a function of the adjusted torque required to achieve the minimum allowed speed at the peak distance.
10. The cruise control method of claim 9, further comprising commanding the propulsion system to produce an updated-commanded axle torque, wherein the updated-commanded axle torque is equal to the adjusted torque required to achieve the minimum allowed speed at the peak distance plus the commanded axle torque.
11. The cruise control method of claim 1, further comprising identifying a first speed point in the projected-speed table that is greater than the maximum allowed speed.
12. The cruise control method of claim 11, further comprising finding a first local maximum in the projected-speed table.
13. The cruise control method of claim 12, further comprising determining a distance from a current location of the vehicle to a location at the first local maximum, wherein the distance from the current location of the vehicle to the location at the first local maximum is a peak distance.
14. The cruise control method of claim 13, further comprising setting a desired speed at the peak distance to be the maximum allowed speed.
15. The cruise control method of claim 14, further comprising computing a scaled projected speed table as a function of the maximum allowed speed and the first local maximum.
16. A vehicle system, comprising: a propulsion system; a controller in communication with the propulsion system, wherein the controller is programmed to: receive a set speed, a maximum allowed speed, and a minimum allowed speed, wherein each of the maximum allowed speed and the minimum allowed speed is a speed boundary of an allowed speed range; command a propulsion system to produce a commanded axle torque to maintain the set speed; monitor a current speed of the vehicle; monitor an elevation of a terrain at predetermined-upcoming locations of the vehicle based on upcoming elevation data; generate an elevation look-ahead table using the elevation of the terrain at the predetermined-upcoming locations of the vehicle, wherein the elevation look-ahead table includes a plurality of look-ahead elevation points; determine projected speeds of the vehicle at each of the predetermined-upcoming locations of the vehicle as a function of the current speed of the vehicle and the elevation of the terrain at the predetermined-upcoming locations of the vehicle; generate a projected-speed table using the projected speeds of the vehicle at each of the predetermined-upcoming locations of the vehicle; compare each of the projected speeds of the vehicle at each of the predetermined-upcoming locations with the allowed speed range; determine whether at least one of the projected speeds is outside the allowed speed range; and in response to determining that the at least one of the projected speeds is outside the allowed speed range, command the propulsion system of the vehicle to adjust the commanded axle torque in order to maintain an actual speed of the vehicle within the allowed speed range at each of the predetermined-upcoming locations.
17. The vehicle system of claim 16, wherein the controller is programmed to identify a first speed point in the projected-speed table that is less than the minimum allowed speed.
18. The vehicle system of claim 17, wherein the controller is programmed to find a projected minimum speed.
19. The vehicle system of claim 18, wherein the controller is programmed to determine a distance from a current location of the vehicle to a location at the projected minimum speed, and the distance from the current location of the vehicle to the location at the projected minimum speed is a peak distance.
20. The vehicle system of claim 19, wherein the controller is programmed to set a desired speed at the peak distance to be the minimum allowed speed.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
(1)
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
(11)
(12)
(13)
DETAILED DESCRIPTION
(14) The following detailed description is merely exemplary in nature and is not intended to limit the application and uses. Furthermore, there is no intention to be bound by expressed or implied theory presented in the preceding technical field, background, brief summary or the following detailed description. As used herein, the term module refers to hardware, software, firmware, electronic control component, processing logic, and/or processor device, individually or in a combination thereof, including without limitation: application specific integrated circuit (ASIC), an electronic circuit, a processor (shared, dedicated, or group) and memory that executes one or more software or firmware programs, a combinational logic circuit, and/or other suitable components that provide the described functionality.
(15) Embodiments of the present disclosure may be described herein in terms of functional and/or logical block components and various processing steps. It should be appreciated that such block components may be realized by a number of hardware, software, and/or firmware components configured to perform the specified functions. For example, an embodiment of the present disclosure may employ various integrated circuit components, e.g., memory elements, digital signal processing elements, logic elements, look-up tables, or the like, which may carry out a variety of functions under the control of one or more microprocessors or other control devices. In addition, those skilled in the art will appreciate that embodiments of the present disclosure may be practiced in conjunction with a number of systems, and that the systems described herein are merely exemplary embodiments of the present disclosure.
(16) For the sake of brevity, techniques related to signal processing, data fusion, signaling, control, and other functional aspects of the systems (and the individual operating components of the systems) may not be described in detail herein. Furthermore, the connecting lines shown in the various figures contained herein are intended to represent example functional relationships and/or physical couplings between the various elements. It should be noted that alternative or additional functional relationships or physical connections may be present in an embodiment of the present disclosure.
(17) As depicted in
(18) The vehicle 10 may be an autonomous vehicle, and a control system 89 is incorporated into the vehicle 10. The control system 89 may alternatively be referred to as a vehicle system. The vehicle 10 is, for example, a vehicle that is automatically controlled to carry passengers from one location to another. The vehicle 10 is depicted in the illustrated embodiment as a passenger car, but it should be appreciated that another vehicle including motorcycles, trucks, sport utility vehicles (SUVs), recreational vehicles (RVs), marine vessels, aircraft, etc., can also be used. The vehicle 10 may be a so-called Level Four or Level Five automation system. A Level Four system indicates high automation, referring to the driving mode-specific performance by an automated driving system of the aspects of the dynamic driving task, even if a human driver does not respond appropriately to a request to intervene. A Level Five system indicates full automation, referring to the full-time performance by an automated driving system of the aspects of the dynamic driving task under different roadway and environmental conditions that can be managed by a human driver.
(19) The vehicle 10 generally includes a propulsion system 20, a transmission system 22, a steering system 24, a brake system 26, a sensor system 28, an actuator system 30, at least one data storage device 32, at least one controller 34, and a communication system 36. The propulsion system 20 may include an electric machine such as a traction motor and/or a fuel cell propulsion system. The vehicle 10 further includes a battery (or battery pack) 21 electrically connected to the propulsion system 20. Accordingly, the battery 21 is configured to store electrical energy and to provide electrical energy to the propulsion system 20. Additionally, the propulsion system 20 may include an internal combustion engine 33 having a plurality of cylinders. When the propulsion system 20 engages active fuel management (AFM), not all of the cylinders of the internal combustion engine 33 are active. Conversely, when the propulsion system disengages AFM, all of the cylinders of the internal combustion engine 33 are active. The transmission system 22 is configured to transmit power from the propulsion system 20 to the vehicle wheels 17 according to selectable speed ratios. The transmission system 22 may include a step-ratio automatic transmission, a continuously-variable transmission, or other appropriate transmission. The brake system 26 is configured to provide braking torque to the vehicle wheels 17. The brake system 26 may include friction brakes, brake by wire, a regenerative braking system such as an electric machine, and/or other appropriate braking systems. The steering system 24 influences a position of the vehicle wheels 17. While depicted as including a steering wheel for illustrative purposes, the steering system 24 may not include a steering wheel. The vehicle 10 may include an air-conditioning system 29 with a compressor 31 coupled to the internal combustion engine 33 of the propulsion system 20. The compressor 31 may be driven by the internal combustion engine 33.
(20) The sensor system 28 includes one or more sensing devices 40 that sense observable conditions of the exterior environment and/or the interior environment of the vehicle 10. The sensing devices 40 may include, but are not limited to, radars, lidars, global positioning systems, optical cameras, thermal cameras, ultrasonic sensors, clocks for measuring time, and/or other sensors. The actuator system 30 includes one or more actuator devices 42 that control one or more vehicle features such as, but not limited to, the propulsion system 20, the transmission system 22, the steering system 24, and the brake system 26. In various embodiments, the vehicle features can further include interior and/or exterior vehicle features such as, but are not limited to, doors, a trunk, and cabin features such as air, music, lighting, etc. (not numbered). The sensing system 28 includes one or more Global Positioning System (GPS) transceiver 40g configured to detect and monitor the route data (i.e., route information). The GPS transceiver 40g is configured to communicate with a GPS to locate the position of the vehicle 10 in the globe. The GPS transceiver 40g is in electronic communication with the controller 34.
(21) The data storage device 32 stores data for use in automatically controlling the vehicle 10. In various embodiments, the data storage device 32 stores defined maps of the navigable environment. In various embodiments, the defined maps may be predefined by and obtained from a remote system (described in further detail with regard to
(22) The controller 34 includes at least one processor 44 and a computer non-transitory readable storage device or media 46. The processor 44 can be a custom made or commercially available processor, a central processing unit (CPU), a graphics processing unit (GPU), an auxiliary processor among several processors associated with the controller 34, a semiconductor-based microprocessor (in the form of a microchip or chip set), a macroprocessor, a combination thereof, or generally a device for executing instructions. The computer readable storage device or media 46 may include volatile and nonvolatile storage in read-only memory (ROM), random-access memory (RAM), and keep-alive memory (KAM), for example. KAM is a persistent or non-volatile memory that may be used to store various operating variables while the processor 44 is powered down. The computer-readable storage device or media 46 may be implemented using a number of memory devices such as PROMs (programmable read-only memory), EPROMs (electrically PROM), EEPROMs (electrically erasable PROM), flash memory, or another electric, magnetic, optical, or combination memory devices capable of storing data, some of which represent executable instructions, used by the controller 34 in controlling the vehicle 10. The data storage device 32 and/or the computer readable storage device or media 46 may include a map database 35. In the present disclosure, the term map database means a database that stores geographical and topographical data, such as roads, streets, cities, parks, traffic signs, elevation information, two-dimensional or three-dimensional arrangement of objections with attributes to location and category. The map database 35 includes data about the elevation E of a terrain Trr (
(23) The instructions may include one or more separate programs, each of which comprises an ordered listing of executable instructions for implementing logical functions. The instructions, when executed by the processor 44, receive and process signals from the sensor system 28, perform logic, calculations, methods and/or algorithms for automatically controlling the components of the vehicle 10, and generate control signals to the actuator system 30 to automatically control the components of the vehicle 10 based on the logic, calculations, methods, and/or algorithms. Although a single controller 34 is shown in
(24) In various embodiments, one or more instructions of the controller 34 are embodied in the control system 89. The vehicle 10 includes a user interface 23, which may be a touchscreen in the dashboard. The user interface 23 is in electronic communication with the controller 34 and is configured to receive inputs by a user (e.g., vehicle operator). Accordingly, the controller 34 is configured to receive inputs from the user via the user interface 23. The user interface 23 includes a display configured to display information to the user (e.g., vehicle operator or passenger).
(25) The communication system 36 is configured to wirelessly communicate information to and from other entities 48, such as but not limited to, other vehicles (V2V communication), infrastructure (V2I communication), remote systems, and/or personal devices (described in more detail with regard to
(26)
(27)
(28) With reference to
(29) With reference to
(30) With reference
(31)
(32) At block 104, the controller 34 sets the commanded axle torque .sub.ss to road load torque at the set speed v.sub.ss. To do so, the controller 34 commands the propulsion system 20 to produce the commanded axle torque .sub.ss in order to maintain the set speed v.sub.ss. Then, the method 100 continues to block 106.
(33) At block 106, the controller 34 generates the elevation look-ahead table EDT (
(34) At block 108, the controller 34 determines projected speeds of the vehicle at each of the predetermined-upcoming locations of the vehicle as a function of the current speed v.sub.0 of the vehicle 10 and the elevation E of the terrain Trr at the predetermined-upcoming locations of the vehicle 10. To do so, the controller 34 assumes the vehicle 10 maintains a constant torque (i.e., road load torque at set speed v.sub.ss) and calculates the projected speeds at each look-ahead point in the elevation table EDT (given the changes in elevation in the elevation table EDT)) with the following equation:
v.sub.i={square root over (\2g(h.sub.0h.sub.i)+v.sub.0.sup.2)}
(35) where
(36) v.sub.0 is the current speed of the vehicle 10;
(37) h.sub.0 is the current elevation of the terrain Trr at the current location of the vehicle 10;
(38) h.sub.i is the elevation at point i in the elevation look-ahead table EDT;
(39) g is the gravitational acceleration; and
(40) v.sub.i is the projected speed at point i in the elevation look-ahead table EDT.
(41) Using the equations above, the controller 34 calculates the projected speed at each look-ahead point and generates the projected-speed table PST (
(42) At block 110, the controller 34 compares each of the projected-speeds at each of the predetermined-upcoming locations with the allowed speed range 37 to determine whether any of the projected speeds is outside the allowed speed range 37. In other words, at block 110, the controller 34 determines whether there are any projected speeds in the projected-speed table PST (
(43)
(44) At block 204, the controller 34, starting at the first speed point identified in block 202, moves forward in the projected-speed table PST until v.sub.i+1>v.sub.i in order to find the first local minimum of the projected speed). In the acceleration control process 200, this first local minimum of the projected speed is referred to as v.sub.peak. After block 204, the method proceeds to block 206. The first local minimum v.sub.peak of the projected speed may correspond to a local maximum elevation in the elevation look-ahead table EDT. Thus, controller 34 also determines the local maximum elevation in the elevation look-ahead table EDT and its corresponding index i.sub.peak in the elevation look-ahead table EDT. Next, the acceleration control process 200 continues to block 206.
(45) At block 206, the controller 34 determines and stores the distance from the current location of the vehicle 10 to the local maximum elevation and its corresponding index i.sub.peak in the elevation look-ahead table EDT. The distance from the current location of the vehicle 10 to the local maximum elevation is referred to as a peak distance d.sub.peak. After block 204, the acceleration control process 200 continues to block 208.
(46) At block 208, the controller 34 sets the desired speed at the peak distance d.sub.peak to be the minimum allowed speed v.sub.min. After block 208, the acceleration control process 200 proceeds to block 210.
(47) At block 210, the controller 34 computes a scaled, projected-speed table, such as an updated, projected-speed table UPST shown in
(48)
(49) where:
(50) v.sub.0 is the current speed of the vehicle 10;
(51) v.sub.i is a projected speed of the vehicle 10 at an index point i;
(52) v.sub.min is the minimum allowed speed;
(53) v.sub.peak is the first local minimum of the projected speed determined in block 204; and
(54) v.sub.i,scaled is the scaled, projected speed of the vehicle 10 at an index point i.
(55) By using the above equation, the controller 34 generates a scaled, projected-speed table. Thus, the controller 34 computes the scaled, projected-speed table a function of the minimum allowed speed v.sub.min and the first local minimum v.sub.peak. After block 210, the acceleration control process 200 proceeds to block 212.
(56) At block 212, the controller 34 calculates the required work input W to achieve the minimum allowed speed v.sub.min at the peak distance d.sub.peak. To do so, the controller 34 may use the following equation:
(57)
(58) where:
(59) m is the mass of vehicle 10;
(60) v.sub.peak is the first local minimum of the projected speed determined in block 204;
(61) is a calibratable (and/or learned) engine-to-road efficiency factor;
(62) v.sub.min is the minimum allowed speed;
(63) W is the required work input to achieve the minimum allowed speed v.sub.min at the peak distance d.sub.peak.
(64) After determining the required work input W to achieve the minimum allowed speed v.sub.min at the peak distance d.sub.peak, the acceleration control process 200 proceeds to block 214.
(65) At block 214, the controller 34 calculates the adjusted torque .sub.req required (if applied constantly) to achieve the minimum allowed speed v.sub.min at the peak distance d.sub.peak using the following equation:
(66)
(67) where:
(68) r.sub.w is the radius of one of the wheels 17 (i.e., the wheel radius);
(69) v.sub.i is the projected speed at index point i in the scaled, projected-speed table generated in block 210;
(70) x.sub.i is the distance from the current location of the vehicle 10 to the index point i in the scaled, projected-speed table generated in block 210;
(71) v.sub.i+1 is the projected speed at index point i+1 in the scaled, projected-speed table generated in block 210;
(72) i.sub.peak is the index point (i.e., location) at the first local minimum v.sub.peak is of the projected speed;
(73) i.sub.peak-1 is the index point (i.e., location) immediately before the first local minimum v.sub.peak is of the projected speed; and
(74) .sub.req is the adjusted torque required (if applied constantly) to achieve the driver defined speed minimum speed limit v.sub.min;
(75) At block 214, the efficiency will be maximized if the required work W is added to the system at a constant rate. After block 214, the acceleration control process 200 proceeds to block 216.
(76) At block 216, the controller 34 re-computes the projected speed table assuming that the commanded axle torque is held constant at the sum of the adjusted torque .sub.req required (if applied constantly) to achieve the minimum allowed speed v.sub.min at the peak distance d.sub.peak and the commanded axle torque .sub.ss to road load torque at the set speed v.sub.ss. After block 216, the acceleration control process 200 proceeds to block 218.
(77) At block 218, the controller 34 determines whether there are any speed violations prior to the peak distance d.sub.peak. If there are minimum speed violations prior to the peak distance d.sub.peak, then the acceleration control process 200 returns to block 202. If there are maximum speed violations prior to the peak distance d.sub.peak, then the controller 34 begins the deceleration control process 300 (
(78) At block 220, the controller 34 sets the commanded engine torque to the sum of the adjusted torque .sub.req required (if applied constantly) to achieve the minimum allowed speed v.sub.min at the peak distance d.sub.peak and the commanded axle torque .sub.ss to road load torque at the set speed v.sub.ss. Also, the controller 34 commands the propulsion system 20 to produce an updated, commanded axle torque. This updated, commanded axle torque may be equal to the adjusted torque .sub.req required (if applied constantly) to achieve the minimum allowed speed v.sub.min at the peak distance d.sub.peak plus the commanded axle torque .sub.ss to road load torque at the set speed v.sub.ss. Then, the acceleration control process 200 proceeds to block 222.
(79) Between block 220 and 222, the vehicle 10 travels to the look-ahead point x.sub.1 in the elevation look-ahead table EDT. At block 222, the controller 34 sets the peak distance d.sub.peak using the following equation:
d.sub.peak=d.sub.peakdx
(80) where:
(81) d.sub.peak is the peak distance; and
(82) dx is the distance between look-ahead pint x.sub.0 and look-ahead point x.sub.1 in the elevation look-ahead table EDT.
(83) After block 222, the acceleration control process 200 proceeds to block 224.
(84) At block 224, the controller 34 determines whether the newly set peak distance d.sub.peak is less than zero. If the newly set peak distance d.sub.peak is not less than zero, then the acceleration control process 200 returns to block 216. If the newly set peak distance d.sub.peak is less than zero, then the acceleration control process 200 proceeds to block 226. At block 226, the controller 34 exits acceleration control.
(85)
(86) At block 304, the controller 34, starting at the first speed point identified in block 302, moves forward in the projected-speed table PST until v.sub.i+1<v.sub.i in order to find the first local maximum of the projected speed). In the deceleration control process 300, this first local maximum of the projected speed is referred to as v.sub.peak. After block 304, the method proceeds to block 306. The first local maximum v.sub.peak of the projected speed may correspond to a local minimum elevation in the elevation look-ahead table EDT. Thus, controller 34 also determines the local maximum elevation in the elevation look-ahead table EDT and its corresponding index i.sub.peak in the elevation look-ahead table EDT. Next, the deceleration control process 300 continues to block 306.
(87) At block 306, the controller 34 determines and stores the distance from the current location of the vehicle 10 to the local minimum elevation and its corresponding index i.sub.peak in the elevation look-ahead table EDT. The distance from the current location of the vehicle 10 to the local minimum elevation is referred to as a peak distance d.sub.peak. After block 304, the deceleration control process 300 continues to block 308.
(88) At block 308, the controller 34 sets the desired speed at the peak distance d.sub.peak to be the maximum allowed speed v.sub.max. After block 308, the deceleration control process 300 proceeds to block 310.
(89) At block 310, the controller 34 computes a scaled, projected-speed table, such as an updated, projected-speed table UPST shown in
(90)
(91) where:
(92) v.sub.0 is the current speed of the vehicle 10;
(93) v.sub.i is a projected speed of the vehicle 10 at an index point i;
(94) v.sub.max is the maximum allowed speed;
(95) v.sub.peak is the first local maximum of the projected speed determined in block 304; and
(96) v.sub.i,scaled is the scaled, projected speed of the vehicle 10 at an index point i.
(97) By using the above equation, the controller 34 generates a scaled, projected-speed table. Thus, the controller 34 computes the scaled, projected-speed table a function of the maximum allowed speed v.sub.max and the first local maximum v.sub.peak. After block 310, the deceleration control process 300 proceeds to block 312.
(98) At block 312, the controller 34 calculates the required work input W to achieve the maximum allowed speed v.sub.max at the peak distance d.sub.peak. To do so, the controller 34 may use the following equation:
(99)
(100) where:
(101) m is the mass of vehicle 10;
(102) v.sub.peak is the first local maximum of the projected speed determined in block 304;
(103) is a calibratable engine-to-road efficiency factor;
(104) v.sub.max is the maximum allowed speed;
(105) W is the required work input to achieve the maximum allowed speed v.sub.min at the peak distance d.sub.peak.
(106) After determining the required work input W to achieve the maximum allowed speed v.sub.max at the peak distance d.sub.peak, the deceleration control process 300 proceeds to block 314.
(107) At block 314, the controller 34 calculates the adjusted reduction in torque .sub.req required (if applied constantly) to achieve the maximum allowed speed v.sub.max at the peak distance d.sub.peak using the following equation:
(108)
(109) where:
(110) r.sub.w is the radius of one of the wheels 17 (i.e., the wheel radius);
(111) v.sub.i is the projected speed at index point i in the scaled, projected-speed table generated in block 210;
(112) x.sub.i is the distance from the current location of the vehicle 10 to the index point i in the scaled, projected-speed table generated in block 210;
(113) v.sub.1+1 is the projected speed at index point i+1 in the scaled, projected-speed table generated in block 210;
(114) i.sub.peak is the index point (i.e., location) at the first local minimum v.sub.peak is of the projected speed;
(115) i.sub.peak-1 is the index point (i.e., location) immediately before the first local minimum v.sub.peak is of the projected speed; and
(116) .sub.req is the adjusted torque required (if applied constantly) to achieve the maximum driver defined speed limit v.sub.max;
(117) At block 314, the efficiency will be maximized if the required work W is added to the system at a constant rate. After block 314, the deceleration control process 300 proceeds to block 316.
(118) At block 316, the controller 34 re-computes the projected speed table assuming that the commanded axle torque is held constant at the sum of the adjusted reduction in torque .sub.req required (if applied constantly) to achieve the maximum allowed speed v.sub.max at the peak distance d.sub.peak and the commanded axle torque .sub.ss to road load torque at the set speed v.sub.ss. After block 318, the deceleration control process 300 proceeds to block 318.
(119) At block 318, the controller 34 determines whether there are any speed violations prior to the peak distance d.sub.peak. If there are maximum speed violations prior to the peak distance d.sub.peak, then the deceleration control process 300 returns to block 302. If there are minimum speed violations prior to the peak distance d.sub.peak, then the controller 34 begins the acceleration control process 200 (
(120) At block 320, the controller 34 compares the absolute value of the adjusted reduction in torque .sub.req required (if applied constantly) to achieve the maximum allowed speed v.sub.max at the peak distance d.sub.peak with the absolute value of the torque necessary to run the air-conditioning system 29 (i.e., the maximum alternator torque). If the absolute value of the adjusted reduction in torque .sub.req required (if applied constantly) to achieve the maximum allowed speed v.sub.max at the peak distance d.sub.peak is greater than the absolute value of the torque necessary to run the air-conditioning system 29, then the deceleration control process 300 proceeds to block 322. If the absolute value of the adjusted reduction in torque .sub.req required (if applied constantly) to achieve the maximum allowed speed v.sub.max at the peak distance d.sub.peak is not greater than the absolute value of the torque necessary to run the air-conditioning system 29, then the deceleration control process 300 proceeds to block 324.
(121) At block 324, the controller 34 maintains the commanded axle torque .sub.ss. Also, the adjusted reduction in torque .sub.req required (if applied constantly) to achieve the maximum allowed speed v.sub.max at the peak distance d.sub.peak is provided via battery regeneration. In the battery regeneration, the propulsion system 20 charges the battery 21 of the vehicle 10. After block 324, the deceleration control process 300 proceeds to block 340.
(122) At block 340, the vehicle 10 travels look-ahead point x.sub.1 in the elevation look-ahead table EDT. After block 340, the deceleration control process 300 proceeds to block 342.
(123) At block 342, the controller 34 sets the peak distance d.sub.peak using the following equation:
d.sub.peak=d.sub.peakdx
(124) where:
(125) d.sub.peak is the peak distance; and
(126) dx is the distance between look-ahead pint x.sub.0 and look-ahead point x.sub.1 in the elevation look-ahead table EDT.
(127) After block 342, the deceleration control process 300 proceeds to block 344.
(128) At block 344, the controller 34 determines whether the newly set peak distance d.sub.peak is less than zero. If the newly set peak distance d.sub.peak is not less than zero, then the deceleration control process 300 returns to block 316. If the newly set peak distance d.sub.peak is less than zero, then the deceleration control process 300 proceeds to block 346. At block 346, the controller 34 exits deceleration control.
(129) At block 322, the controller 34 commands the propulsion system 20 to engage a maximum battery regeneration. In the maximum battery regeneration, the propulsion system 20 charges the battery 21 of the vehicle 10. In the second deceleration mode, the propulsion system 20 drives a compressor 31 of the air conditioning system 29. At block 322, the controller 34 sets the absolute value of the adjusted reduction in torque .sub.req required (if applied constantly) to achieve the maximum allowed speed v.sub.max at the peak distance d.sub.peak to be equal to the absolute value of the adjusted reduction in torque .sub.req required (if applied constantly) to achieve the maximum allowed speed v.sub.max at the peak distance d.sub.peak minus the torque necessary to run the air-conditioning system 29. After block 322, the deceleration control process 300 proceeds to block 326.
(130) At block 326, the controller 34 determines if the air conditioning system 29 is on. If the air conditioning system 29 is on, then the deceleration control process 300 proceeds to block 328. If the air conditioning system 29 is off, then the deceleration control process 300 proceeds to block 330.
(131) At block 328, the controller 34 compares the absolute value of the newly set adjusted reduction in torque .sub.req required (if applied constantly) to achieve the maximum allowed speed v.sub.max at the peak distance d.sub.peak with the absolute value of the torque necessary to run the air-conditioning system 29 (i.e., the maximum A/C compressor torque). The maximum A/C compressor torque is the maximum torque required to run the compressor 31 of the air-conditioning system 29. If the absolute value of the adjusted reduction in torque .sub.req required (if applied constantly) to achieve the maximum allowed speed v.sub.max at the peak distance d.sub.peak is greater than the absolute value of the torque necessary to run the air-conditioning system 29, then the deceleration control process 300 proceeds to block 332. If the absolute value of the adjusted reduction in torque .sub.req required (if applied constantly) to achieve the maximum allowed speed v.sub.max at the peak distance d.sub.peak is not greater than the absolute value of the torque necessary to run the air-conditioning system 29, then the deceleration control process 300 proceeds to block 334.
(132) At block 332, the controller 34 sets the maximum A/C compressor load to maximum for current climate settings. At block 332, the controller 34 sets the absolute value of the newly set adjusted reduction in torque .sub.req required (if applied constantly) to achieve the maximum allowed speed v.sub.max at the peak distance d.sub.peak to be equal to the absolute value of the adjusted reduction in torque .sub.req required (if applied constantly) to achieve the maximum allowed speed v.sub.max at the peak distance d.sub.peak minus the maximum torque required to run the compressor 31 of the air-conditioning system 29. After block 332, the deceleration control process 300 proceeds to block 330.
(133) At block 334, the controller 34 maintains the commanded axle torque .sub.ss. Also, the adjusted reduction in torque .sub.req required (if applied constantly) to achieve the maximum allowed speed v.sub.max at the peak distance d.sub.peak is provided via the A/C compressor load (i.e., the load of the compressor 31 of the air-conditioning system 29. After block 334, the deceleration control process 300 proceeds to block 340.
(134) At block 330, the controller 34 compares the absolute value of the newly set adjusted reduction in torque .sub.req required (if applied constantly) to achieve the maximum allowed speed v.sub.max at the peak distance d.sub.peak with the absolute value of the torque necessary to run the air-conditioning system 29. If the absolute value of the newly set adjusted reduction in torque .sub.req required (if applied constantly) to achieve the maximum allowed speed v.sub.max at the peak distance d.sub.peak is greater than the absolute value of the torque necessary to run the air-conditioning system 29, then the deceleration control process 300 proceeds to block 336. If the absolute value of the newly set adjusted reduction in torque .sub.req required (if applied constantly) to achieve the maximum allowed speed v.sub.max at the peak distance d.sub.peak is not greater than the absolute value of the torque necessary to run the air-conditioning system 29, then the deceleration control process 300 proceeds to block 338.
(135) At block 336, the controller 34 sets the virtual pedal input to zero (tip out completely). In other words, the controller 34 commands the propulsion system 20 to produce zero torque. At block 336, the controller 34 commands the brake system 26 to actuate to provide the remaining commanded axle torque .sub.ss. After block 336, the deceleration control process 300 proceeds to block 340.
(136) At block 338, the controller 34 sets the commanded engine torque to the sum of the adjusted reduction in torque .sub.req required (if applied constantly) to achieve the maximum allowed speed v.sub.max at the peak distance d.sub.peak and the commanded axle torque .sub.ss to road load torque at the set speed v.sub.ss. In other words, the controller 34 commands the propulsion system 20 to reduce the commanded axle torque to the sum of the adjusted reduction in torque .sub.req required (if applied constantly) to achieve the maximum allowed speed v.sub.max at the peak distance d.sub.peak and the commanded axle torque .sub.ss to road load torque at the set speed v.sub.ss. After block 338, the deceleration control process 300 proceeds to block 340.
(137) The detailed description and the drawings or figures are supportive and descriptive of the present teachings, but the scope of the present teachings is defined solely by the claims. While some of the best modes and other embodiments for carrying out the present teachings have been described in detail, various alternative designs and embodiments exist for practicing the present teachings defined in the appended claims.