Road gradient estimation arbitration
10042815 ยท 2018-08-07
Assignee
Inventors
Cpc classification
G01L3/00
PHYSICS
B60T8/24
PERFORMING OPERATIONS; TRANSPORTING
G06F17/00
PHYSICS
G01P15/00
PHYSICS
International classification
G05D1/00
PHYSICS
B60T8/24
PERFORMING OPERATIONS; TRANSPORTING
G01L3/00
PHYSICS
G01P15/00
PHYSICS
G06F17/00
PHYSICS
G06F7/00
PHYSICS
Abstract
A vehicle and vehicle system are provided with a controller that is configured to generate output indicative of a road gradient based on at least one of a first estimation, a second estimation and a third estimation. The road gradient is based on the first estimation when a vehicle speed is less than a speed threshold and an input indicative of a longitudinal acceleration is available. The road gradient is based on the second estimation when the vehicle speed is greater than the speed threshold and the longitudinal acceleration is available. The road gradient is based on the third estimation when the longitudinal acceleration is not available.
Claims
1. A vehicle comprising: a controller configured to generate output indicative of a road gradient derived from a first gradient estimation when a vehicle speed is less than a speed threshold and a signal indicative of longitudinal acceleration sensor input quality exceeds a threshold, a second gradient estimation when the vehicle speed exceeds the speed threshold and the signal exceeds the threshold, and a third gradient estimation when the signal does not exceed the threshold.
2. The vehicle of claim 1 wherein the road gradient is independent of a vehicle pitch angle.
3. The vehicle of claim 1 further comprising: an inertial sensor for providing an output indicative of the longitudinal acceleration; wherein the first gradient estimation comprises a static road gradient estimation based on the longitudinal acceleration.
4. The vehicle of claim 1 wherein the second gradient estimation comprises a kinematic road gradient estimation based on the vehicle speed and a longitudinal acceleration.
5. The vehicle of claim 1 wherein the third gradient estimation comprises a dynamic road gradient estimation based on the vehicle speed and at least one of a wheel torque and a wheel force.
6. The vehicle of claim 1 wherein the controller is further configured to: generate the output indicative of the road gradient corresponding to an estimation having an estimation output that has updated within a predetermined period of time.
7. The vehicle of claim 1 wherein each estimation further comprises an estimation quality factor, wherein the estimation quality factor is indicative of an availability and accuracy of a corresponding estimation; wherein the controller is further configured to select the estimation based in part on the estimation quality factor.
8. The vehicle of claim 7 wherein the controller is further configured to: select the first gradient estimation when a first estimation quality factor corresponding to the first gradient estimation is equal to a value indicative of full quality.
9. The vehicle of claim 7 wherein the controller is further configured to: select the second gradient estimation when a second estimation quality factor corresponding to the second gradient estimation is equal to a value indicative of full quality.
10. The vehicle of claim 7 wherein the controller is further configured to: generate an output indicative of a road gradient quality factor based on the estimation quality factor of a selected estimation.
11. A vehicle system comprising: a controller configured to: generate output indicative of a road gradient based on a selected estimation that is a static estimation when a vehicle speed is less than a speed threshold and a signal indicative of longitudinal acceleration sensor input quality exceeds a threshold, a kinematic estimation when the vehicle speed is greater than the speed threshold and the signal exceeds the threshold, and a dynamic estimation when the signal does not exceed the threshold, and generate output indicative of a quality factor corresponding to the selected estimation.
12. The vehicle of claim 11 wherein each estimation further comprises an estimation quality factor, wherein the estimation quality factor is indicative of an availability and accuracy of a road gradient value resulting from a corresponding estimation; wherein the controller is further configured to select the road gradient value of the estimation having an estimation quality factor that is greater than the estimation quality factors associated with the other estimations.
13. The vehicle system of claim 11 wherein a static quality factor is based on a derivative of the longitudinal acceleration.
14. The vehicle system of claim 11 wherein a kinematic quality factor is based on quality factors associated with the vehicle speed and the longitudinal acceleration.
15. The vehicle system of claim 11 wherein a dynamic quality factor is based on quality factors associated with the vehicle speed and at least one of a wheel torque and a wheel speed.
16. A method for arbitrating road gradient estimation, comprising: generating, by a controller, output indicative of a road gradient based on a static estimation when a vehicle speed is less than a speed threshold and a signal indicative of longitudinal acceleration sensor input quality exceeds a threshold, a kinematic estimation when the vehicle speed is greater than the speed threshold and the signal exceeds the threshold, and a dynamic estimation when a longitudinal acceleration signal does not exceed the threshold, and generating, by the controller, output indicative of a quality factor corresponding to a selected estimation.
17. The method of claim 16 further comprising: reducing an estimation quality factor associated with at least one of the kinematic estimation and the dynamic estimation when a derivative of the corresponding estimation value is greater than an estimation threshold for longer than a predetermined period of time.
18. The method of claim 16 further comprising: locking the road gradient to a present value of the selected estimation in response to the vehicle speed being less than a low speed threshold.
19. The method of claim 18 further comprising: reducing the quality factor when a difference between a locked road gradient and the selected estimation is greater than a difference threshold.
20. The method of claim 19 further comprising: setting the quality factor to a low value indicative of the road gradient not being available, when the difference between the locked road gradient and the selected estimation is greater than a second difference threshold, wherein the second difference threshold is greater than the difference threshold.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
(1)
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
(11)
(12)
(13)
(14)
(15)
(16)
(17)
(18)
(19)
(20)
(21)
(22)
(23)
(24)
(25)
(26)
(27)
DETAILED DESCRIPTION
(28) As required, detailed embodiments of the present invention are disclosed herein; however, it is to be understood that the disclosed embodiments are merely exemplary of the invention that may be embodied in various and alternative forms. The figures are not necessarily to scale; some features may 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.
(29) With reference to
(30) The illustrated embodiment depicts the vehicle 12 as a micro-hybrid vehicle, which is a vehicle that is propelled by the engine 16, and the engine 16 is repeatedly started and stopped to conserve fuel. An enhanced starter motor 20 is coupled to an engine crankshaft. The starter motor 20 receives electrical power and provides output torque to the crankshaft for starting the engine 16. Although illustrated and described in the context of a micro-hybrid vehicle 12, it is understood that embodiments of the vehicle system 10 may be implemented on other types of vehicles, such as a conventional powertrain vehicle, a battery electric vehicle (BEV), which is powered by an electric motor without assistance of an engine, and a hybrid electric vehicle (HEV), which is powered by an electric motor and an engine.
(31) The vehicle 12 includes a transmission 22 for adjusting the output torque of the engine 16. Torque from the engine 16 is transferred through the transmission 22 to a differential 24 by a transmission output shaft 26. Axle half shafts 28 extend from the differential 24 to a pair of driven wheels 30 to provide drive torque for propelling the vehicle 12.
(32) The vehicle 12 includes a shifter 32 for manually selecting a transmission gear. The shifter 32 includes a sensor (not shown) for providing an output signal that corresponds to a selected transmission gear (e.g., PRNDL). A transmission control module (TCM) 34 communicates with the shifter 32 and the transmission 22 for adjusting the transmission gear ratio based on the shifter selection. Alternatively the shifter 32 may be mechanically connected to the transmission 22 for adjusting the transmission gear ratio.
(33) The vehicle 12 includes a braking system which includes a brake pedal 36, and a booster and a master cylinder which are generally referenced by brake activation block 38 in
(34) The braking system also includes sensors for providing information that corresponds to current brake characteristics. The braking system includes a position switch for providing a brake pedal state (S.sub.bp) signal that corresponds to a brake pedal position (e.g., applied or released). In other embodiments, the braking system includes a position sensor (not shown) for measuring pedal position. The braking system also includes one or more pressure sensors for providing a brake pressure (P.sub.brk) signal that corresponds to an actual brake pressure value within the brake system (e.g., brake line pressure, master cylinder pressure, or pressure at the wheel assemblies).
(35) The vehicle 12 includes an accelerator pedal 48 with a position sensor for providing an accelerator pedal position (APP) signal that corresponds to a driver request for propulsion. The ECM 14 controls the throttle of the engine 16 based on the APP signal.
(36) The vehicle 12 includes an energy storage device, such as a battery 50. The battery 50 supplies electrical energy to the vehicle controllers and the starter motor 20, as generally indicated by dashed lines in
(37) The vehicle 12 also includes one or more inertial sensors 52 which provide output that corresponds to vehicle acceleration (a). In one embodiment, the inertial sensor 52 provides output corresponding to longitudinal acceleration. In another embodiment, the inertial sensors 52 provide output corresponding to longitudinal acceleration, lateral acceleration and vertical acceleration, all of which are generally referenced by the variable a in
(38) The vehicle 12 includes a navigation system 54 for receiving destination information from a driver. The navigation system 54 also communicates with a plurality of systems/networks that are external to the vehicle. For example the navigation system 54 may include transceivers for communicating with satellites (e.g. GPS), and computers (via cellular networks, hardwire connections or radio frequency (RF) waves) (not shown). Such networks are described in detail in U.S. application Ser. No. 12/744,092 to Pleet et al., which is hereby incorporated by reference. The navigation system 54 determines a distance between a present location of the vehicle 12 and the destination selected by the driver, and provides this distance, along with speed, acceleration and elevation information associated with the vehicle 12, its target destinations, or other relevant GPS waypoints to the VSC 18.
(39) The VSC 18 communicates with other vehicle systems, sensors and controllers for coordinating their function. As shown in the illustrated embodiment, the VSC 18 receives a plurality of input signals (e.g., S.sub.bp, P.sub.brk, engine speed (Ne), vehicle speed (Vx), powertrain torque (T.sub.pt), brake torque (T.sub.br), a, and r) from various vehicle sensors and controllers. Although it is shown as a single controller, the VSC 18 may include multiple controllers that may be used to control multiple vehicle systems according to an overall vehicle control logic, or software. The vehicle controllers, including the VSC 18 generally include any number of microprocessors, ASICs, ICs, memory (e.g., FLASH, ROM, RAM, EPROM and/or EEPROM) and software code to co-act with one another to perform a series of operations. The controllers also include predetermined data, or look up tables that are based on calculations and test data and stored within the memory. The VSC 18 communicates with other vehicle systems and controllers (e.g., the ECM 14, the TCM 34, etc.) over one or more wired or wireless vehicle connections using common bus protocols (e.g., CAN and LIN).
(40) With reference to
(41)
(42) The VSC receives inputs at signal processing block 412. The inputs include vehicle states and sensor signals, (e.g., a.sub.x.sup.s, a.sub.y.sup.s, a.sub.z.sup.s, r) derived or calculated values (e.g., Vx, T.sub.pwt, T.sub.brk, F.sub.pwt, F.sub.brk), and quality factors which are all generally represented by input 414. In some embodiments, the vehicle system receives inputs from the navigation system that correspond to vehicle speed and acceleration, which are generally represented by input 418.
(43) At block 420 the VSC estimates road gradient (RGE) using static, kinematic and dynamic estimation algorithms, which are represented by sub-blocks 422, 424 and 426 respectively. The RGE values are provided to an RGE arbitration and diagnostic block 428 which selects which estimation (RGE.sub.st, RGE.sub.kin, or RGE.sub.dyn) to provide as an output (RGE.sub.out) for other vehicle systems based on a number of vehicle conditions.
(44) The static RGE algorithm 422 estimates road gradient based on the longitudinal acceleration input (a.sub.x.sup.s). Static RGE is suited for vehicle standstill conditions, such as engine start/stop functionality when a micro-hybrid is stopped on an incline. When the vehicle is stopped on an incline (as shown in
(45) The kinematic RGE algorithm 424 estimates RGE based on input corresponding to the vehicle's kinematic properties including the relationship between vehicle speed, accelerations and yaw rate. The algorithm processes the input using a Kalman Filter as described in detail with respect to
(46) The dynamic RGE algorithm 426 estimates RGE based on input corresponding to vehicle speed, wheel torques (brake torque and powertrain output torque), and other drag forces acting on the vehicle (e.g., aerodynamic drag, rolling resistance and the road gradient load). The vehicle system includes an algorithm for estimating vehicle mass, which is included in block 426, and described in detail with respect to
(47) At block 430 the vehicle system performs driving state monitoring and estimation algorithm adjustment. The estimation algorithm adjustment includes feedforward input compensation for the RGE.sub.kin algorithm of block 424, which is described in detail with respect to
(48) At block 432 the vehicle system evaluates vehicle operation conditions, such as vehicle stability, oscillation and speed, and provides a corresponding judgment to block 428. At block 434 the vehicle system determines a quality factor for each RGE algorithm (QF.sub.st, QF.sub.kin, QF.sub.dyn), along with an overall RGE quality factor (QF.sub.RGE). In one or more embodiments the QF.sub.RGE is provided with the RGE.sub.out to other vehicle systems. Such quality evaluations are described in detail with respect to
(49)
(50)
(51) As depicted in
(52) As depicted in
(53) As depicted in
(54) Table A depicts a comparison of the inputs and vehicle conditions associated with the algorithms for estimating road gradient, and is shown below:
(55) TABLE-US-00001 Estimation Input Estimation Availability RGE Vehicle Wheel Torque Very Low Normal Convergence Algorithms Speed Acceleration & Force Standstill Speeds Motion Phase Static X X Yes* Kinematic X X X Yes Dynamic X X X X Yes
(56) Column 1 of Table A illustrates the three road gradient estimation algorithms: static, kinematic and dynamic. Columns 2-4 depict the primary inputs that each algorithm uses for its estimate. For example, the vehicle system estimates a static road gradient based on vehicle acceleration. The vehicle system estimates a kinematic road gradient based on vehicle speed and acceleration, and the vehicle system estimates a dynamic road gradient based on vehicle speed and wheel torque/force. These inputs may be measured values, or derived values as described with reference to
(57) Columns 5-8 depict the vehicle conditions at which each road grade estimate is available. For example, the static road gradient estimation is available when the vehicle is at standstill. The kinematic road gradient estimation is available when the vehicle is in normal motion, (e.g., vehicle speed is greater than 5 mph). The dynamic road gradient estimation is available when the vehicle is at standstill, or during normal vehicle motion. Although column 6 of the table indicates that none of the estimates are available at very low vehicle speeds, (e.g., less than 5 mph), the vehicle system still provides an accurate road gradient estimate during such conditions, as described below with reference to
(58) Column 7 depicts the convergence phase of each estimate. The convergence phase relates to the amount of time it takes the vehicle system to estimate a road gradient using each algorithm during a transition between vehicle conditions (e.g., from standstill to very low speed, to normal motion).
(59) With reference to
(60) The estimation status factor for each RGE algorithm (static, kinematic, and dynamic) is defined as a Boolean variable (TRUE/FALSE) and represented by variables (STATUS.sub.st, STATUS.sub.kin, and STATUS.sub.dyn). The estimation status factor indicates whether the estimation condition is satisfied and if the estimation function is updating its state at a corresponding RGE channel (RGE.sub.st, RGE.sub.kin, and RGE.sub.dyn). A status value of TRUE indicates that the estimation method is actively monitoring the vehicle dynamic states (e.g., Vx, a.sub.x.sup.s, a.sub.y.sup.s, a.sub.z.sup.s, and r) and the road gradient information and its estimation channel are updating.
(61) The estimation readiness factor for each RGE algorithm (static, kinematic, and dynamic) is also defined as a Boolean variable (TRUE/FALSE) and represented by variables (READY.sub.st, READY.sub.kin, and READY.sub.dyn). The estimation readiness generally indicates the present usefulness of the RGE function. More specifically, the static estimation readiness (READY.sub.st,) indicates whether RGE.sub.st has already provided a road grade estimate for the present vehicle location. The kinematic and dynamic estimation readiness values (READY.sub.kin, and READY.sub.dyn) indicate that their estimation state is validated with quality factor greater than 2 (degraded, or full quality) for more than a threshold period of time. In the presence of an unqualified estimation condition, the accumulated time under such condition has not exceeded another time threshold such that the estimation state has not deviated out of the degraded boundary.
(62) The estimation quality factor for the RGE output as well as that for each RGE algorithm (static, kinematic, and dynamic) corresponds to a value between 0-3, and is represented by variables (QF.sub.RGE, QF.sub.st, QF.sub.kin, and QF.sub.dyn). The estimation quality factor evaluates both the availability and the accuracy of the estimated road gradient information. QF.sub.RGE is the general RGE output signal quality evaluation, which is based on the quality factor of the selected RGE algorithm, and further processed according to the vehicle's dynamic situation after the update event. Such quality evaluation is described in detail with respect to
(63) At operation 612, the vehicle system evaluates the current estimation status of the static RGE function to determine if STATUS.sub.st is equal to TRUE. If the determination at operation 612 is positive, the vehicle system proceeds to operation 614. At operation 614, the vehicle system evaluates the current estimation readiness of the static RGE function to determine if READY.sub.st is equal to TRUE. If the determination at operation 614 is positive, the vehicle system proceeds to operation 616. At operation 616, the vehicle system evaluates the current estimation quality of the static RGE function to determine if QF.sub.st is equal to three (full quality). If the determination at operation 616 is positive, the vehicle system proceeds to operation 618, and selects the static road gradient estimation by setting the RGE output equal to RGE.sub.st. If the determination at operation 612 is negative, the vehicle system proceeds to operation 620.
(64) At operation 620, the vehicle system evaluates the current estimation status of the kinematic RGE function to determine if STATUS.sub.kin is equal to TRUE. If the determination at operation 620 is positive, the vehicle system proceeds to operation 622. At operation 622, the vehicle system evaluates the current estimation readiness of the kinematic RGE function to determine if READY.sub.kin is equal to TRUE. If the determination at operation 622 is positive, the vehicle system proceeds to operation 624. At operation 624, the vehicle system evaluates the current estimation quality of the kinetic RGE function to determine if QF.sub.kin is equal to three (full quality). If the determination at operation 616 is positive, the vehicle system proceeds to operation 626 and selects the kinematic road gradient estimation by setting the RGE output equal to RGE.sub.kin.
(65) The static and kinematic road gradient estimations are preferred over RGE.sub.dyn because RGE.sub.dyn has lower quality conditions due to the additional signals in its estimation, and the noise in each signal will be propagated in the final RGE output. Therefore even if the static and kinematic quality factors are less than three, the vehicle system may still select RGE.sub.st or RGE.sub.kin over RGE.sub.dyn.
(66) If the determination at operation 616 is negative, then QF.sub.st is less than 3, and the vehicle system proceeds to operation 628. At operation 628 the vehicle system sets a temporary quality factor value (QF.sub.tmp) equal to QF.sub.st, and a temporary road gradient estimate (RGE.sub.tmp) equal to RGE.sub.st. Similarly, if the determination at operation 624 is negative, then QF.sub.kin is less than 3, and the vehicle system proceeds to operation 630. At operation 630 the vehicle system sets a temporary quality factor value (QF.sub.tmp) equal to QF.sub.kin, and a temporary road gradient estimate (RGE.sub.tmp) equal to RGE.sub.kin. After both operations 628 and 630, the vehicle system proceeds to operation 632 to evaluate the overall RGE quality factor (QF.sub.RGE).
(67) At operation 632 the vehicle system determines if QF.sub.RGE is less than 3. If the determination is negative, the vehicle system proceeds to operation 634 and does not update RGE. If the overall RGE has full quality, the vehicle system is not going to select a different RGE of lesser quality. If the determination at operation 632 is negative, then the vehicle system proceeds to operation 636.
(68) At operation 636, the vehicle system evaluates the current estimation status and the current estimation readiness of the dynamic RGE function to determine if both STATUS.sub.dyn and READY.sub.dyn are equal to TRUE. If the determination at operation 636 is negative, the vehicle system proceeds to operation 638. At operation 638 the vehicle system evaluates the temporary quality factor QF.sub.tmp to determine if it is greater than or equal to 2. If the determination at operation 638 is negative, the vehicle system proceeds to operation 634 and does not update RGE. If the determination at operation 638 is positive, the vehicle system proceeds to operation 640 and selects the temporary road gradient (static or kinematic) by setting RGE equal to RGE.sub.tmp. If the determination at operation 636 is positive, the vehicle system proceeds to operation 642.
(69) At operation 642, the vehicle system evaluates the temporary quality factor (QF.sub.tmp) and the dynamic quality factor (QF.sub.dyn), to determine if the minimum value of QF.sub.tmp and QF.sub.dyn is greater than or equal to 2. If the determination at operation 642 is positive, the vehicle system proceeds to operation 644. At operation 644 the vehicle system determines if QF.sub.tmp is greater than QF.sub.dyn. If the determination at operation 644 is positive, the vehicle system proceeds to operation 640 and selects the temporary road gradient (static or kinematic) by setting RGE equal to RGE.sub.tmp. If the determination at operation 644 is negative (QF.sub.tmp is not greater than QF.sub.dyn), then the vehicle system proceeds to operation 646 and selects the dynamic road gradient by setting RGE equal to RGE.sub.dyn.
(70) If the determination at operations 614, 620 or 622 is negative, the vehicle system proceeds to operation 648. At operation 648, the vehicle system evaluates the current estimation status and the current estimation readiness of the dynamic RGE function to determine if both STATUS.sub.dyn and READY.sub.dyn are equal to TRUE.
(71) If the determination at operation 648 is positive, the vehicle system proceeds to operation 650. At operation 650, the vehicle system evaluates the current estimation quality of the dynamic RGE function to determine if QF.sub.dyn is greater than or equal to two. If the determination at operation 650 is positive, the vehicle system proceeds to operation 646 and selects the dynamic road gradient estimation by setting the RGE output equal to RGE.sub.dyn. If the determination at operations 648 or 650 are negative, the vehicle system proceeds to operation 652 and does not update the RGE output, by latching the RGE output value to the previous RGE output value. After operations 618, 626, 640, 646, and 652 the vehicle system proceeds to operation 654. At operation 654 the vehicle system provides the RGE output and QF, and then returns to operation 612 for another iteration of the method 610.
(72) As such the vehicle system provides advantages over existing systems by arbitrating or selecting a road gradient estimation from a number of different estimations (static, kinematic, and dynamic). Each road gradient estimation is suited for different vehicle conditions. By arbitrating between these different estimations, the vehicle system provides a road gradient estimation over a wide range of vehicle conditions.
(73) Referring back to
(74) The governing kinematic vehicle frame equations are represented below:
a.sub.x.sup.s+l.sub.c{dot over (r)}=({dot over (V)}.sub.xr*V.sub.y)cos +g sin(.sub.r+)(1)
a.sub.y.sup.s+l.sub.d{dot over (r)}=({dot over (V)}.sub.y+r*V.sub.x)cos .sub.vg sin cos(.sub.r+)(2)
a.sub.z.sup.s={dot over (V)}.sub.x sin +g cos(.sub.r+)+n.sub.az(3)
where a.sub.x.sup.x, a.sub.y.sup.s, a.sub.z.sup.s are the vehicle longitudinal, lateral and vertical accelerations. l.sub.c is the sensor lateral offset displacement form the vehicle rotational center (CG) in a turning maneuver, and l.sub.d is the sensor longitudinal offset displacement. V.sub.x, and V.sub.y, are longitudinal speed and lateral speed; and {dot over (V)}.sub.x, {dot over (V)}.sub.y, and {dot over (V)}.sub.z, are the calculated longitudinal, lateral and vertical accelerations; is the vehicle pitch angle and r is the yaw rate. is the total vehicle roll angle, which corresponds to the sum of the vehicle body roll angle .sub.v and the road bank angle .sub.b. Additionally, n.sub.az represents all of the vertical acceleration disturbances caused by vehicle suspension oscillation and road surface fluctuation.
(75) The vehicle system estimates a static road gradient based on the vehicle longitudinal acceleration and equation 1. Since the vehicle is static, or at standstill, the longitudinal velocity (V.sub.y), the longitudinal acceleration ({dot over (V)}.sub.x), yaw rate, and the derivative of the yaw rate are set to zero, and the kinematic equations are simplified. Equation 4 illustrates an equation for calculating longitudinal acceleration at static conditions, and is shown below:
a.sub.x.sup.s=g(.sub.r+)g sin .sub.r+g(4)
(76) The vehicle pitch angle () due to suspension deflection is proportional to the road gradient angle as K.sub.p(g sin .sub.r) where K.sub.p represents the stiffness of the vehicle body at steady state. K.sub.p is a predetermined value based on the magnitude of a.sub.x.sup.s. In one or more embodiments, the VSC includes stored data corresponding to a lookup table of pre-calibrated data with the value of K.sub.p interpolated with respect to the vector of a.sub.x.sup.s values across its positive and negative operating range. Equation 5 illustrates an intermediate derivation step, and equation 6 provides an equation for calculating the road gradient (.sub.r) at static conditions, as shown below:
(77)
(78) Generally, the static RGE is the most accurate algorithm among the three RGE estimations since it involves the minimal estimation input and it is the most directly derived estimation results. However, the static RGE is only available at vehicle standstill conditions.
(79)
(80) With reference to
(81) Additionally, the convergence status signal (CON.sub.st) is also used to evaluate the static RGE output quality. For example, in one or more embodiments, a CON.sub.st of 2 (very stable), corresponds to a highest or full quality estimation (QF.sub.st=3). A CON.sub.st of 1 (somewhat stable) corresponds to a degraded quality estimation (QF.sub.st=2). A CON.sub.st of 0 (not stable) corresponds to a non-qualified estimation (QF.sub.st=1), or no data (QF.sub.st=0). The convergence status signal (CON.sub.st) is based on the derivative of longitudinal acceleration.
(82) At operation 812 the vehicle system evaluates the vehicle speed (Vx) and the convergence status factor (CON.sub.st) to determine if both Vx is less than a low speed threshold; and if the accelerometer signal quality is ok (e.g., if CON.sub.st=2). If the determination at operation 812 is negative, the vehicle system proceeds to operation 814. At operation 814 the vehicle system evaluates the convergence status factor (CON.sub.st) to determine if CONst indicates that the signal is stable (e.g., if CON.sub.st=2). If the determination at operation 814 is negative, the vehicle system proceeds to operation 816 and resets the timers and flags by setting a stable timer, a converging timer, a nonstable timer, and the convergence status factor (CON.sub.st) all to zero (CON.sub.st=Not Stable). The vehicle system also sets a Grade.sub.found flag equal to FALSE, when there is an RGE value available. Grade.sub.found indicates whether a valid estimation (RGEst) has already been provided for a present vehicle stop event. A Grade.sub.found that is equal to TRUE indicates that a valid RGE.sub.st has already been provided, and Grade.sub.found that is equal to FALSE indicates that a valid RGE.sub.st has not already been provided or is no longer valid. If the determination at operation 812 is positive, the vehicle system proceeds to operation 818.
(83) At operation 818 the vehicle system computes a longitudinal jerk ({dot over (a)}.sub.x.sup.s), or a first order derivative of the longitudinal acceleration using a low pass filter. At operation 820, the vehicle system compares the jerk ({dot over (a)}.sub.x.sup.s) to a converging threshold to determine if {dot over (a)}.sub.x.sup.s is less than the converging threshold. If the determination at operation 820 is negative, then the vehicle system proceeds to operation 822 and the nonstable timer accrues with cycle time Dt. The vehicle system also proceeds to operation 822 if the determination at operation 814 is positive. At operation 824 the vehicle system evaluates the non-stable timer, to determine if the non-stable timer is greater than a non-stable timer threshold. If the determination at operation 824 is positive, the vehicle system proceeds to operation 826 and sets the converging timer, the stable timer and the converging status factor (CON.sub.st) all to zero (CON.sub.st=Not Stable). If the determination at operation 820 is positive, the vehicle system proceeds to operation 828.
(84) At operation 828 the vehicle system evaluates the longitudinal jerk ({dot over (a)}.sub.x.sup.s), to determine if {dot over (a)}.sub.x.sup.s is less than a stabilizing threshold. If the determination at operation 828 is negative, the vehicle system proceeds to operation 830 and the converging timer accrues with cycle time Dt. At operation 832 the vehicle system evaluates the converging timer to determine if the converging timer is greater than the converging time threshold. If the determination at operation 832 is positive, the vehicle system proceeds to operation 834 and resets the nonstable and stable timers by setting them equal to zero; sets the converging status factor to somewhat stable (CON.sub.st=1); and sets the Grade.sub.found to TRUE. If the determination at operation 828 is positive, the vehicle system proceeds to operation 836.
(85) At operation 836 the stable timer accrues with cycle time Dt. At operation 838 the vehicle system evaluates the stable timer to determine if the stable timer is greater than a stabilizing time threshold. If the determination at operation 838 is positive, the vehicle system proceeds to operation 840 and resets the nonstable and converging timers by setting them equal to zero; sets the converging status factor to very stable (CON.sub.st=2); and sets the Grade.sub.found to TRUE.
(86) With reference to
(87) At operation 912 the vehicle system enters an initialization state that sets the STATIC.sub.lock signal equal to unlocked. At operation 914, the vehicle system evaluates the STATIC.sub.lock signal to determine if the static road gradient (RGE.sub.st) is locked. If the determination at operation 914 is negative, the vehicle system proceeds to operation 916. At operation 916 the vehicle system determines if the STATIC.sub.lock signal is quarantined. If the determination at 916 is negative, the vehicle system proceeds to operation 918. At operation 918 the vehicle system determines if the GRADE.sub.found is TRUE. The GRADE.sub.found signal is based on the current RGE.sub.out signal. If the determination at operation 918 is positive, the vehicle system proceeds to operation 920. At operation 920 the vehicle system evaluates the convergence status signal to determine if CON.sub.st is very stable, (e.g., if CON.sub.st=2). If the determination at operation 920 is positive, the vehicle system proceeds to operation 922 and sets STATIC.sub.lock to locked. Then in operation 924 the static road gradient estimate (RGE.sub.st) is locked. If the determination at operation 914 is positive (e.g., STATIC.sub.lock=locked) then the vehicle system proceeds to operation 926.
(88) At operation 926 the vehicle system evaluates the grade found (GRADE.sub.found) to determine if GRADE.sub.found=TRUE. If the determination at operation 926 is positive, the vehicle system proceeds to operation 928 and evaluates the convergence status signal to determine if CON.sub.st is not stable, (e.g., if CON.sub.st=0). If the determination at operation 928 is positive, the vehicle system proceeds to operation 930 and sets STATIC.sub.lock to quarantined. After operation 930, and if the determination at operations 928 or 934 are negative, the vehicle system proceeds to operation 924 and locks the static road gradient estimate (RGE.sub.st). If the determination at operation 916 is positive, the vehicle system proceeds to operation 932.
(89) At operation 932 the vehicle system evaluates the grade found signal to determine if GRADE.sub.found=TRUE. If the determination at operation 932 is positive, the vehicle system proceeds to operation 934 and evaluates the convergence status signal to determine if CON.sub.st is very stable, (e.g., if CON.sub.st=2). If the determination at operation 934 is positive, the vehicle system proceeds to operation 922 and sets STATIC.sub.lock to locked. If the determination at operation 932, 918, 920 or 926 is negative, the vehicle system proceeds to operation 936 sets STATIC.sub.lock to locked. After operations 936 and 924, the vehicle system proceeds to operation 938, and then returns to operation 914.
(90) With reference to
(91)
(92) The vehicle system estimates an initial value for RGEst based on either the kinematic or dynamic road gradient estimates. If no estimates are available, the vehicle system will use a default value. Since the static RGE function only starts after the vehicle speed is lower than a predefined speed threshold, (e.g., 1 kph), the initial value of the estimation algorithm is a factor in the convergence time, or the time delay until RGE.sub.st converges to the actual road gradient. Fortunately, the vehicle system includes multiple road gradient algorithms. The other kinematic and dynamic estimation algorithms primarily work in the condition while the vehicle is in motion. Thus, before the start of the static RGE algorithm, information about the road gradient several seconds before the current time or several meters after the vehicle (assuming the vehicle is driving forward) shall be available from the other RGE algorithms and they are the valid reference for the static RGE algorithm to start with. After that, the static RGE algorithm takes over the main estimation task to continue monitoring the road gradient variation while the other two algorithms are paused in absence of qualified estimation conditions. More specifically, the static RGE algorithm, when estimation conditions satisfy, will take the output of either the kinematic or the dynamic estimation algorithm as its initial value depending on which one has the highest quality evaluation. When neither of them has satisfied quality, a default value will be used instead. The qualified static estimation condition is that the vehicle speed will be lower than a speed threshold and such speed threshold will be smaller than the speed thresholds that used to determine on-hold of the other two RGE algorithms.
(93) At time t.sub.1, the vehicle starts decelerating as indicated by the decreasing slope of Vx. At time t.sub.2, the vehicle stops and the RGE.sub.st becomes active. Rather than starting from 0%, and converging to the actual road gradient, the RGE starts from the last RGE.sub.kin value, as shown at point 1012 where RGE.sub.st is equal to RGE.sub.kin, and both of which are approximately equal to 22%. Then as RGE accumulates data, it converges to actual road gradient of approximately 20% at time t.sub.3 as referenced by numeral 1014.
(94) After the vehicle stops, there is noise present on the longitudinal acceleration signal (a.sub.x.sup.s) due to vehicle body oscillations, as referenced by numeral 1016. The vehicle system filters the longitudinal acceleration signal (a.sub.x.sup.s) using a low pass filter having a variable bandwidth, as referenced by the flt waveform at 1018. The vehicle system computes a filtered longitudinal acceleration value by dynamically filtering the a.sub.x.sup.s data using a time constant selected based on first and higher order derivatives of a.sub.x.sup.s. In one embodiment, the vehicle system compares a longitudinal jerk ({dot over (a)}.sub.x.sup.s), or a first order derivative of the longitudinal acceleration, to a threshold jerk. If the jerk ({dot over (a)}.sub.x.sup.s), is greater than the threshold jerk, then a time constant corresponding to a lower bandwidth is selected for the low pass filter. Conversely, if the jerk is less than the threshold jerk, a time constant corresponding to a higher bandwidth is selected for the low pass filter. For example, the threshold jerk may be either the converging threshold 820 or the stabilizing threshold 828 described above with reference to
(95) In another embodiment, a bandwidth is selected from predetermined data (e.g., a lookup table) based on a second order derivative of the longitudinal acceleration .sub.x.sup.s. By filtering a.sub.x.sup.s, the road gradient estimation (RGE.sub.st) converges relatively quickly. For example, RGE.sub.st converges at time t.sub.3, as referenced by numeral 1014, and the time delay between t.sub.2 and t.sub.3 is approximately 1 s.
(96) Referring back to
(97) As such the vehicle system provides advantages over existing systems by estimating static road gradient using kinematic equations and dynamic filtering of the longitudinal acceleration. The vehicle system also sets an initial value of the static road gradient estimation equal to a road gradient provided by a kinematic or dynamic road gradient estimation. By dynamically filtering the longitudinal acceleration, and by using another estimation for the initial value, the vehicle system reduces the time delay before a quality static road gradient estimated value may be provided, which in turn allows for the engine to be shutdown earlier in a start/stop application which results in improved fuel economy.
(98) With reference to
(99) Blocks 1114 and 1116 correspond to the RGE.sub.kin block 424 of
(100) The (a.sub.x.sup.s, a.sub.z.sup.s and r) inputs are provided to an RGE.sub.kin input compensation block 1118, which corresponds to block 430 of
(101) The vehicle system estimates a kinematic road gradient based on the kinematic vehicle frame equations 1-4 and uses an integral type filtering strategy. By ignoring high order angular terms, the vehicle frame kinematic equations may be simplified as shown in equations 7-9 below:
(102)
(103) An equation for longitudinal acceleration ({dot over (V)}.sub.x) may be obtained by applying small angle approximation to equation 8, and is shown below:
(104)
where a.sub.x.sup.off represents an acceleration offset.
(105) The vehicle system estimates kinematic road gradient using a Kalman filter, according to one or more embodiments. The Kalman filter operates recursively on streams of noisy input data to provide a statistically optimal estimate of the underlying system state. Basically, the Kalman filter is an algorithm which uses a series of measurements that are observed over time and contain random variations (noise), and provides estimates of unknown variables that are more accurate than the measurements alone. A Kalman filter may be thought of as an approach to estimate the state of a black box, based on measurable inputs and outputs.
(106) The Kalman filter algorithm estimates a state using a two-step process including a time update prediction step, and a measurement update step. In the prediction step, the Kalman filter provides estimates of the current state variables, along with their uncertainties. The measurement update step is a form of feedback control. Once the Kalman filter observes the next measurement, the estimates are updated using a weighted average, where more weight is given to estimates with higher certainty.
(107) The weights are calculated from the covariance, which is a measure of the estimated uncertainty of the prediction of the system's state. The Kalman filter process is repeated every time step, where the new estimate and its covariance informs the prediction used in the following iteration. The Kalman filter is a recursive estimator. This means that only the estimated state from the previous time step and the current measurement are used to compute the estimate for the current state.
(108) The Kalman Filter provides estimates for linear system models with additive independent white noise in both the transition and the measurement systems. However, most systems are nonlinear. An extended Kalman filter (EKF) is used to provide estimates of nonlinear systems. The EKF adapts techniques including multivariate Taylor Series expansions, to linearize calculations about a working point.
(109) The vehicle system defines an extended state (a.sub.x.sup.g). Since gravity is a constant value (9.8 m/s.sup.2), a first order dynamic of the extended state is equal to zero ({dot over (a)}.sub.x.sup.g=0). The extended state models the vehicle acceleration dynamic that is excited by variation in the road gradient, and the road gradient is relatively high at low frequencies.
(110) The overall system model for estimation is shown below, and is referenced as equation 11:
(111)
where X.sub.k is the state at time step (k), and X.sub.k1 is the state at a previous time step. u.sub.k is a system input and Y.sub.k is a system output. .sub.k is the process noise, .sub.v(k) is the process noise associated with the velocity, and .sub.a(k) is the process noise associated with acceleration. V.sub.x is the longitudinal speed. a.sub.x.sup.g(k) is the extended state acceleration due to gravity, a.sub.x.sup.s(k) is the measured longitudinal acceleration, and a.sub.x.sup.off(k) is the acceleration offset. .sub.s is the sampling time for the above discrete time implementation model, and T indicates a matrix transform.
(112) Based on the system model shown in equations 11, an observer is designed to estimate the extended state (a.sub.x.sup.g), and the kinematic road gradient is estimated according to equation 12 as shown below:
(113)
(114) The observer is designed using a standard Extended Kalman Filter (EKF) system model as represented by the function shown above in equation 11, and equation 13, both of which are shown below:
X.sub.k=f(X.sub.k1,u.sub.k)+.sub.k
Y.sub.k=CX.sub.k+e.sub.k(13)
Where C is a matrix, which is a relatively simple matrix in equation 11, and e.sub.k is an unknown noise.
(115) An EKF is used for nonlinear systems. The nonlinear system model is linearized around the current state at every time step, and provides a transition matrix F.sub.k. The obtained transition matrix F.sub.k is then used to complete the steps of the standard EKF recursions. These recursions are described by two update steps: a prediction step and a measurement update step. In the prediction step, the system input is used to predict the future state of the system ({circumflex over (X)}.sub.k|k1) as shown in equations 14 and 15 below:
{circumflex over (X)}.sub.k|k1=f({circumflex over (X)}.sub.k1|k1,u.sub.k)(14)
P.sub.k|k1=F.sub.kP.sub.k1|k1F.sub.k.sup.T+Q.sub.k(15)
where P.sub.k|k1 is the estimated error covariance and Q.sub.k is the process noise covariance which is equal to E[.sub.k.sup.2]. F.sub.k is the Jacobian and is provided by equation 16 as shown below:
(116)
(117) A measurement update step is provided by equations 17-19 as shown below:
K.sub.k=P.sub.k|k1C.sup.T(CP.sub.k|k1C.sup.T+R.sub.k).sup.1(17)
{circumflex over (X)}.sub.k|k={circumflex over (X)}.sub.k|k1+K.sub.k(Y.sub.kC{circumflex over (X)}.sub.k|k1)(18)
P.sub.k|k=(IK.sub.kC)P.sub.k|k1(19)
where K.sub.k is the EKF gain, and R.sub.k is the measurement noise covariance which is equal to E[e.sub.k.sup.2].
(118) Generally with an EKF system, the process noise covariance (Q) and the measurement noise covariance (R) are not known a priori, or independent of experience. However, well conditioned signals, such as K.sub.k and P.sub.k|.sub.k will converge to values that are dependent on Q and R. Therefore, the converged value of K.sub.k may be obtained from predetermined data and it will be used directly for real-time estimation.
(119) In one or more embodiments, the vehicle system includes vertical displacement in its estimation of kinematic road grade. Vertical displacement (Z) may be provided by the navigation system of
=V.sub.x sin .sub.r(20)
(120) The EKF system model of equation (11) is modified to include vertical displacement Z(k), as shown in equation 21 below:
(121)
where a.sub.x.sup.cmp represents an GPS based acceleration offset, and a.sub.x.sup.cmp is equal to (l.sub.c{dot over (r)}+r*V.sub.y). a.sub.x.sup.cmp is provided as feedforward input compensation in embodiments using the GPS information. Equation 21 differs from equation 11, in that equation 21 includes two extended states: a.sub.x.sup.g(k) and a.sub.x.sup.(k), where a.sub.x.sup.(k) is the acceleration due to the vehicle pitch angle.
(122) With reference to
(123) At operation 1212 the vehicle system initializes estimator parameter values. The estimator parameter values include X.sub.k, u.sub.k, and Y.sub.k. The estimator parameter values are initialized by setting them equal to default values. At operation 1214 the vehicle system determines if the kinematic estimator status (STATUS.sub.kin) is on. The estimation status factor is defined as a Boolean variable (TRUE/FALSE), where TRUE indicates that the status is on, and FALSE indicates that the status is not on. A status value of TRUE indicates that the estimation method is actively monitoring the vehicle dynamic states (e.g., Vx, a.sub.x.sup.s, a.sub.y.sup.s, a.sub.z.sup.s, and r) and the road gradient information and its estimation channel are updating. If the determination at operation 1214 is positive, the vehicle system proceeds to operation 1216.
(124) At operation 1216 the vehicle system evaluates the present vehicle speed (Vx) to determine if Vx is greater than or equal to a threshold vehicle entry speed (Vspd.sub.entry). In one embodiment, the threshold vehicle entry speed is approximately 7 kph (4.3 mph). If the determination at operation 1216 is negative, the vehicle system proceeds to operation 1218. At operation 1218 the vehicle system evaluates Vx to determine if it is less than a threshold vehicle exit speed (Vspd.sub.exit). In one embodiment, the threshold vehicle exit speed is approximately 3 kph (1.9 mph). If the determination at operation 1218 is positive, then the vehicle system proceeds to operation 1220.
(125) At operation 1220, the vehicle system sets the kinematic estimation status (STATUS.sub.kin) to pause. By setting STATUS.sub.kin to pause, the vehicle system stops the estimation and retains the current RGEkin value, rather than resetting the value to a default value. At operation 1222 the vehicle system evaluates the present speed (Vx) to determine if Vx is less than a threshold vehicle standstill speed (Vspd.sub.stand). The vehicle standstill speed corresponds to the very low vehicle speed referenced in column 6 of Table A. In one embodiment, the threshold vehicle standstill speed is approximately 1 kph (0.6 mph). If the determination at operation 1222 is positive, the vehicle system proceeds to operation 1224 and sets the kinematic estimation status (STATUS.sub.kin) to off (FALSE). If the determination at operation 1216 is positive, or the determination at operation 1218 is negative, then the vehicle system proceeds to operation 1226.
(126) Operations 1226-1236 relate to the extended Kalman filter operations, which are described above with reference to equations 11-21. First, at operation 1226 the vehicle system computes a compensated estimator input (u.sub.k). At operation 1228 the vehicle system obtains a new system output (Y.sub.k). At operation 1230 the vehicle system updates the EKF state (X.sub.k) based on output prediction error, as described above with reference to equations 14-16. At operation 1232 the vehicle system updates the EKF parameter values (X.sub.k, u.sub.k, and Y.sub.k). At operation 1234, the vehicle system predicts the next system dynamic output Y.sub.k. Then at operation 1236 the vehicle system provides the kinematic road gradient estimation.
(127) If the determination at operation 1214 is negative, the vehicle system proceeds to operation 1238. At operation 1238 the vehicle system evaluates the present vehicle speed (Vx) to determine if Vx is greater than or equal to the threshold vehicle entry speed (Vspd.sub.entry), which is similar to the determination at operation 1216. In one embodiment, the threshold vehicle entry speed is approximately 7 kph (4.3 mph). If the determination at operation 1238 is positive, the vehicle system proceeds to operation 1240 and sets the kinematic estimation status (STATUS.sub.kin) to on (TRUE). After operation 1240 the vehicle system proceeds to operation 1226 to begin the EKF operations.
(128) After operations 1224 and 1244, and after negative determinations at operations 1222 and 1238, the vehicle system proceeds to operation 1242. After operation 1242 the vehicle system returns to operation 1214 for another iteration.
(129)
(130) At time t.sub.1, the vehicle is accelerating, as indicated by the increasing slope of Vx. At time t.sub.2 the vehicle starts decelerating as indicated by the decreasing slope of Vx. At time t.sub.3, the vehicle stops. At time t.sub.4 the vehicle begins accelerating again, and at time t.sub.5 the vehicle begins decelerating again. The kinematic road grade estimation (RGEkin) converges relatively quickly, as referenced by numerals 1312 and 1314.
(131) As described with respect to operations 1222 and 1224, the kinematic estimation status (STATUS.sub.kin) is set to off, if the vehicle speed decreases below a vehicle standstill threshold speed (e.g., 1 kph). Such conditions are illustrated by RGE.sub.kin and referenced by numeral 1320. After t.sub.3, the estimation status is set to off as depicted by the lack of any perceptible noise on RGE.sub.kin at 1320. Additionally once the vehicle stops, the status of the static road gradient estimation (STATUS.sub.st) and the RGE.sub.st converges as referenced by numeral 1322. As shown at 1320, even though the kinematic status is off, RGE.sub.kin is still locked at an accurate road grade estimate and both RGE.sub.st and RGE.sub.kin are providing generally equal estimates of 17.56% grade.
(132) Existing methods for estimating road gradient using a kinematic approach use a derivative filtering strategy. For example, some existing methods estimate road gradient based on the following vehicle longitudinal kinematic equation:
{dot over (u)}=a.sub.x+rvg sin (22)
where {dot over (u)} is the derivative of vehicle longitudinal speed, a.sub.x is the vehicle longitudinal acceleration, r is the yaw rate, v is the vehicle lateral speed. However, such an approach amplifies any noise on the signal due to the derivative calculation of {dot over (u)}.
(133) As such the vehicle system provides advantages over the existing methods by estimating kinematic road gradient using an EKF, which provides an integral type filtering strategy. Such an integrating strategy does not amplify noise on the signals, and therefore provides improved estimation accuracy with relatively fast convergence.
(134) The vehicle system estimates kinematic road gradient using a feedforward input compensation corresponding to an acceleration offset (a.sub.x.sup.off). The acceleration offset is calculated according to equation 23, as shown below:
a.sub.x.sup.off=l.sub.c{dot over (r)}+rV.sub.yg sin (23)
where l.sub.c is the lateral offset, r is the yaw rate, V.sub.y is the lateral velocity and is the vehicle pitch angle. In one or more embodiments, the vehicle system does not receive these values (l.sub.c, V.sub.y, and ) as inputs. Rather the vehicle system estimates these values from other inputs using a number of compensation strategies. In one or more embodiments, the vehicle system estimates the lateral velocity (V.sub.y) term of equation 23 using a Coriolis Effect compensation strategy, the lateral offset (l.sub.c) term using a sensor lateral position offset effect compensation strategy, and the vehicle pitch angle () using a vehicle body relative pitch effect compensation strategy.
(135) The vehicle system estimates the rV.sub.y term of equation 23 using a Coriolis Effect compensation strategy which relates to vehicle turning maneuvers. The inertial sensors 52 of
(136) The first method (the estimation based method) for estimating lateral velocity (V.sub.y) is obtained by applying small angle approximation to Equation 8, and is based on the measured lateral acceleration (a.sub.y.sup.s). Lateral velocity (V.sub.y) is calculated according to equation 24 as shown below:
{dot over (V)}.sub.y=a.sub.y.sup.sl.sub.d{dot over (r)}r*V.sub.x+g.sub.v+g.sub.r(24)
(137) The road bank angle (.sub.r) is unknown. Therefore it is treated as a disturbance and removed from the calculation. The vehicle body roll angle .sub.v may be approximated by the measured lateral acceleration as shown in equation 25:
.sub.vK.sub.(a.sub.y.sup.sl.sub.d{dot over (r)})(25)
where K.sub. represents the vehicle body roll stiffness.
(138) Equation 24 may be simplified as shown in equation 26 below:
{dot over (V)}.sub.y=(1+K.sub.g)(a.sub.y.sup.sl.sub.d{dot over (r)})r*V.sub.x=K.sub.ay(a.sub.y.sup.sl.sub.d{dot over (r)})r*V.sub.x(26)
(139) By integrating both sides of equation 26, an equation is obtained for calculating the estimated lateral velocity ({circumflex over (V)}.sub.y(k), as shown by equation 27:
{circumflex over (V)}.sub.y(k)={circumflex over (V)}.sub.y(k1)+[K.sub.ay(a.sub.y.sup.sl.sub.a{dot over (r)})r*V.sub.x]*.sub.s(27)
(140) The measured lateral acceleration (a.sub.y.sup.s) is generally subjected to acceleration disturbances and bank angle impact. Therefore the V.sub.y estimation method described in equations 24-27 is suited for short time intervals of vehicle dynamic maneuvers in which large magnitudes of lateral acceleration (a.sub.y.sup.s) and yaw rate (r) are present, due to the low frequency biased acceleration components.
(141) Unlike the first method, the second method (the derivation based method) for estimating the lateral velocity (V.sub.y) does not depend on integration. A steady state gain (G.sub.r2) from the vehicle yaw rate (r) to a vehicle side slip angle () may be obtained from a linear vehicle model as shown in equation 28:
(142)
where M.sub.r is the vehicle mass distributed to the rear axle and C.sub.ar is a lumped rear axle cornering stiffness.
(143) As the lateral velocity (V.sub.y) becomes approximately equal to the product of the longitudinal velocity (V) and the vehicle side slip angle (), an equation for calculating the lateral velocity may be obtained as shown below:
V.sub.y=V.sub.xG.sub.r2r=(l.sub.rk.sub.UV.sub.x.sup.2)*r=K.sub.r(V.sub.x)*r(29)
where k.sub.U is the cornering stiffness and is equal to M.sub.r divided by C.sub.ar.
(144) Therefore the lateral velocity may be estimated by equation 30 as shown below:
{circumflex over (V)}.sub.y=r*(l.sub.rk.sub.UV.sub.x.sup.2)=K.sub.r(V.sub.x)*r(30)
(145) A Coriolis effect compensation equation is provided below:
(146)
(147) The second method as described with reference to equations 28-31 is suited for steady state vehicle turning maneuvers where the side slip angle () is small.
(148) The vehicle system implements a comprehensive RGE.sub.kin structure that incorporates both the first method (estimation based) and the second method (derivation based). Then, the vehicle system selects which of the two methods to apply, based on vehicle dynamic conditions reflected by the yaw rate (r). The general design concept is to use the derivation based V.sub.y from equation 30, in primarily forward driving and steady state turning situations but to switch to the estimation based V.sub.y from equation 27, in the presence of large vehicle lateral dynamics (speed and acceleration). Since the estimation method is not expected to be carried out for a long period of time, the estimated V.sub.y must be reset to the derived state whenever a steady state condition may be observed during a continuous vehicle handling maneuver. The estimated V.sub.y may be further bounded by predetermined upper and lower limits. The output V.sub.y is provided by a low pass filter.
(149) With reference to
(150) The method 1410 includes evaluating an indexed lateral dynamic (ILD), which correspond to a present vehicle driving situation. The ILD is defined as:
ILD=|r|+a*|{dot over (r)}(32)
where the variable (a) is a scaling parameter. The vehicle system compares the ILD to two thresholds values: a steady state threshold (SST) corresponding to the derivation method, and a dynamic handling threshold (DHT) corresponding to the estimation method, where (SST<DHT). The determination is further made together with two timers, a steady state timer (T.sub.ss) and a dynamic driving timer (T.sub.dd) that count the duration a vehicle has stayed in each situation. Function LPF(x) indicates a general low pass filter function. A moving average filter is an example of a low pass filter that may be used to smooth out discontinuous output transition effects.
(151) In operation 1412 the vehicle system determines if the vehicle is in the steady state driving situation. The vehicle system receives a flag (SSD.sub.flag) that is associated with the driving situation. A SSD.sub.flag that is equal to one (1) indicates a present steady state driving situation, and SSDn.sub.flag that is equal to two (2) indicates a present dynamic handling situation. Thus, at operation 1412, the system evaluates the SSD.sub.flag to determine if SSD.sub.flag=2. If the determination at operation 1412 is positive, the vehicle system proceeds to operation 1414.
(152) At operation 1414, the vehicle system evaluates the indexed lateral dynamic (ILD) to determine if the ILD is less than a steady state threshold (SST). The SST corresponds to the derivation method for determining the lateral velocity (V.sub.y) as described above with reference to equations 28-31. If the determination at operation 1414 is negative, the vehicle system proceeds to operation 1416 and resets a steady state timer (T.sub.ss) by setting T.sub.ss equal to zero (0). If the determination at operation 1414 is positive, the vehicle system proceeds to operation 1418.
(153) At operation 1418 the vehicle system increments the steady state timer (T.sub.ss) by counting up by one execution cycle time (t.sub.s). At operation 1420 the vehicle system evaluates the steady state timer (T.sub.ss) to determine if T.sub.ss is greater than or equal to a settling time threshold (tss.sub.settle). If the determination at operation 1420 is positive, the vehicle system proceeds to operation 1422 and resets the dynamic driving timer (T.sub.dd). Then, at operation 1424 the vehicle system sets the vehicle driving situation to steady state by setting the SSD.sub.flag equal to one (1).
(154) If the determination at operation 1412 is negative (the vehicle is not driving in steady state conditions), the vehicle system proceeds to operation 1426. At operation 1426 the vehicle system evaluates the indexed lateral dynamic (ILD) to determine if the ILD is greater than the dynamic handling threshold (DHT). The DHT corresponds to the estimation method for determining the lateral velocity (V.sub.y) as described above with reference to equations 24-27. If the determination at operation 1426 is negative, the vehicle system proceeds to operation 1428 and resets a dynamic driving timer (T.sub.dd) by setting T.sub.dd equal to zero (0). If the determination at operation 1426 is positive, the vehicle system proceeds to operation 1430.
(155) At operation 1430 the vehicle system increments the dynamic driving timer (T.sub.dd) by counting up by one execution cycle time (t.sub.s). At operation 1432 the vehicle system evaluates the dynamic driving timer (T.sub.dd) to determine if T.sub.dd is greater than or equal to an excitation time threshold (tdd.sub.excite). If the determination at operation 1432 is positive, the vehicle system proceeds to operation 1434 and resets the steady state timer (T.sub.ss). Then, at operation 1436 the vehicle system sets the vehicle driving situation to dynamic driving by setting the SSD.sub.flag equal to two (2). After operations 1416, 1424, 1428 and 1436, and after a negative determination at operations 1420 or 1432, the vehicle system proceeds to operation 1438 and then returns to operation 1412 for another iteration.
(156) With reference to
(157) In operation 1512 the vehicle system determines if the vehicle is in the dynamic driving situation. The vehicle system evaluates the SSD.sub.flag to determine if SSD.sub.flag=2. If the determination at operation 1512 is positive, the vehicle system proceeds to operation 1514, and estimates the lateral velocity ({circumflex over (V)}.sub.y) using the integration estimation provided in equation 27. After operation 1514 the vehicle system proceeds to operation 1516. At operation 1516 the vehicle system filters the estimated lateral velocity ({circumflex over (V)}.sub.y) using a low pass filter (LPF), and updates a lateral velocity output (V.sub.y). If the determination at operation 1512 is negative, the vehicle system proceeds to operation 1518. At operation 1518 the vehicle system estimates the lateral velocity ({circumflex over (V)}.sub.y) using the derivation estimation provided in equation 30. After operation 1518, the vehicle system proceeds to operation 1516, filters the estimated lateral velocity ({circumflex over (V)}.sub.y) using a low pass filter (LPF), and updates the lateral velocity output (V.sub.y) based on the derivation estimation. After operation 1516, the vehicle system proceeds to operation 1520 and provides the updated lateral velocity (V.sub.y) output, and then returns to operation 1512.
(158) In one or more embodiments, the vehicle system estimates the lateral offset (l.sub.c) term using a sensor lateral position offset effect compensation strategy. The lateral offset (l.sub.c) is defined by the following equation:
l.sub.c=l.sub.c.sup.st+h.sup.t.sub.v(33)
where l.sub.c.sup.st is a static sensor installation offset. The variable h.sup.t.sub.v is a dynamic vehicle body roll component, where h.sup.t is the distance from the sprung mass C.G. to the roll center. The vehicle roll angle .sub.v may be obtained from a roll dynamic model or from suspension deflections (in embodiments having suspension deflection sensors). In one or more embodiments, .sub.v at steady state is derived from the yaw rate (r) at steady state as shown below:
.sub.v=G.sub.r2r(34)
(159) Combining equations 33 and 34 and multiplying each side by the derivative of yaw rate ({dot over (r)}) provides the following equation:
l.sub.c{dot over (r)}=l.sub.c.sup.st{dot over (r)}+h.sup.tG.sub.r2*r*{dot over (r)}(35)
(160) In a dynamic driving situation, the body roll angle (.sub.v) is approximated from the lateral acceleration (a.sub.y.sup.s) according to equation 36 as shown below:
.sub.v=G.sub.ay2(a.sub.y.sup.sl.sub.d{dot over (r)})(36)
(161) Combining equations 35 and 36 provides the following equation:
l.sub.c{dot over (r)}=(l.sub.c.sup.sth.sup.tG.sub.ay2l.sub.d){dot over (r)}+h.sup.tG.sub.ay2a.sub.y.sup.s(37)
where G.sub.ay2 is equal to K.sub.phi.
(162) With reference to
(163) In operation 1612 the vehicle system determines if the vehicle is in the dynamic driving situation. The vehicle system evaluates the SSD.sub.flag to determine if SSD.sub.flag=2. If the determination at operation 1612 is positive, the vehicle system proceeds to operation 1614, and estimates the body roll angle ({circumflex over ()}.sub.v) based on lateral acceleration as shown by equation 36. After operation 1614 the vehicle system proceeds to operation 1616. At operation 1616 the vehicle system filters the estimated body roll angle ({circumflex over ()}.sub.v) using a low pass filter (LPF), and updates a body roll angle output (.sub.v). If the determination at operation 1612 is negative, the vehicle system proceeds to operation 1618. At operation 1618 the vehicle system estimates the body roll angle ({circumflex over ()}.sub.v) based on the yaw rate as provided in equation 34. After operation 1618, the vehicle system proceeds to operation 1616, filters the estimated body roll angle ({circumflex over ()}.sub.v) using a low pass filter (LPF), and updates the body roll angle output (.sub.v). After operation 1616, the vehicle system proceeds to operation 1620 and provides the updated body roll angle output (.sub.v), and then returns to operation 1612.
(164) In one or more embodiments, the vehicle system estimates the vehicle body pitch angle () using one of three compensation strategies. The different strategies correspond to the availability of sensors and accuracy. For example, a first strategy estimates the pitch angle () based on the vehicle longitudinal speed (V.sub.x) and the vehicle longitudinal acceleration (a.sub.x.sup.s). A second strategy, estimates the pitch angle () based on V.sub.x, a.sub.x.sup.s, and a vertical acceleration a.sub.z.sup.s. A third strategy estimates the pitch angle () based on V.sub.x, a.sub.x.sup.s, a.sub.z.sup.s and an estimated acceleration due to gravity component a.sub.x.sup.g provided by the extended Kalman filter. Generally, the more input signals used and the more accurate the source information is, the better the compensation strategy is at cancelling the coupling effect of the a.sub.x.sup.g estimation, and the better the overall road gradient estimation.
(165) The first compensation strategy for estimating the vehicle body pitch angle (), is referenced as dynamic pitch compensation. For this strategy, the vehicle system estimates the pitch angle () based on the vehicle longitudinal speed (V.sub.x) and the vehicle longitudinal acceleration (a.sub.x.sup.s). A low frequency component of may be approximated by a first or second order linear dynamic system. The thrust to pitch vehicle dynamic is generally caused by the longitudinal forces exerted on the vehicle body according to the following equation:
(166)
where is proportional to K.sub.pa.sub.x.sup.r, and M.sub.s is a vehicle sprung mass, which is the vehicle mass and payload above the suspension, and h.sub.cg is the height of the vehicle CG above ground in the vertical direction. K.sub.f and K.sub.r are predetermined suspension stiffness at the front axle and the rear axle, respectively. a.sub.x.sup.r is an equivalent reactive acceleration and a.sub.x.sup.r is equal to a.sub.x+g sin .sub.r. An initial thrust to the pitch dynamic model is based on a.sub.x.sup.r and shown below:
.sub.raw=K.sub.p({dot over (V)}.sub.x+a.sub.x.sup.g)(39)
(167) A first order relative pitch dynamic is provided by equation 40 as shown below:
(168)
which has a transfer function of:
(169)
where D.sub.pitch represents the general damping effect of the suspension and K.sub.pitch represents the suspension stiffness to the pitch thrust from the longitudinal force.
(170)
(171) The vehicle system uses the second compensation strategy to estimate the pitch angle () based on V.sub.x, a.sub.x.sup.s, and a vertical acceleration (a.sub.z.sup.s). The inertial sensors 52 of
(172) For convenience variable () may be defined as shown below:
=a.sub.z.sup.s+lc{dot over (r)}({dot over (V)}.sub.xr*V.sub.y)(42)
(173) The following equation can be obtained by combining equations 7, 9, and 42 and substituting (.sub.r+):
(174)
(175) Equation 43 may be simplified by ignoring the high order term with .sup.4, as shown below:
({dot over (V)}.sub.xr*V.sub.y).sup.22g{dot over (V)}.sub.x+.sup.2+2g(a.sub.z.sup.sg)=0(44)
(176) An equation for calculating the relative pitch angle () according to the second strategy is obtained by solving for the root of equation 44, as shown in equation 45:
(177)
(178) The vehicle system uses the third compensation strategy to estimate the pitch angle () based on V.sub.x, a.sub.x.sup.s, and gravity component a.sub.x.sup.g provided by the extended Kalman filter. An approximation equation is provided below:
(179)
(180) The pitch angle () may be iteratively identified together with an estimated road gradient (.sub.r) through regression based on the following equation:
(181)
where .sub.x.sup.g(k=0)=a.sub.x.sup.g(t) from the Kalman filter output based on an initial compensation value of a.sub.x.sup.off(t). This value may be zero (0), any other admissible value or the regression result from the previous cycle. .sub.x.sup.off(k+=0)=a.sub.x.sup.off(t).
(182) Equations for estimating the road gradient (.sub.r) and the relative pitch angle ({circumflex over ()}) according to the third compensation strategy are provided by equations 48 and 49, as shown below:
(183)
where .sub.x.sup.g() and .sub.x.sup.off() indicate the converged value of .sub.x.sup.g(k) and .sub.x.sup.off(k) through the regression process as k.fwdarw.. The convergence generally occurs within 5-10 iterations.
(184) As such the vehicle system provides advantages over the existing methods by estimating kinematic road gradient using input compensated acceleration offset to improve accuracy to remove uncertainties and offsets caused by lateral vehicle dynamics and their coupling effects.
(185) The vehicle system estimates a dynamic road gradient (RGE.sub.dyn) based on input corresponding to estimated vehicle mass, vehicle speed, wheel torques (brake torque and powertrain output torque), and other drag forces acting on the vehicle (e.g., aerodynamic drag, rolling resistance and the road gradient load). Generally the dynamic RGE has lower quality conditions as compared to static and kinematic RGE because it involves more signals in its estimation, and the noise and error in each signal will be propagated in the final RGE output. However, the dynamic RGE does not rely on the longitudinal acceleration signal (a.sub.x.sup.s), and therefore it has different signal coverage from that of the static and the kinematic estimations. Although dynamic road gradient estimation is secondary, the vehicle mass estimation portion is a useful parameter to many vehicle systems.
(186) The vehicle system estimates vehicle mass independent of the road gradient estimate using a recursive least square (RLS) algorithm under certain vehicle conditions. Generally, the vehicle mass only changes when an object (e.g., a passenger) is added to or removed from the vehicle. Such a change usually only occurs when the vehicle is stopped. The vehicle system estimates vehicle mass while the vehicle is moving using vehicle dynamic equations, and independent of the road gradient estimation. By estimating vehicle mass and road gradient independently, or in parallel, the vehicle system improves the accuracy of each estimate over existing methods. The vehicle system estimates vehicle mass using an event-seeking strategy, whereby the mass is estimated at vehicle conditions where the signal to noise ratio of certain inputs is high. The vehicle system then estimates vehicle mass using a recursive least square (RLS) algorithm when the sought event occurs. The vehicle system re-initializes certain parameters in the mass estimation algorithm at vehicle conditions corresponding to potential mass changes (e.g., when the vehicle stops) in order to increase the sensitivity of the algorithm.
(187) The vehicle system estimates a vehicle mass using dynamic vehicle frame equations that are based on Newton's Second Law (F=ma) as provided below:
M.sub.e{dot over (V)}.sub.x=F.sub.pwtF.sub.brkF.sub.dragF.sub.g(50)
where M.sub.e is the estimated vehicle mass without payload (passengers or cargo), {dot over (V)}.sub.x is the derivative of vehicle speed, F.sub.pwt is the propulsion force at the output of the powertrain, F.sub.brk is the brake force, F.sub.drag is the drag force and F.sub.g is the force due to gravity.
(188) Equation 50 may be rewritten to solve for M.sub.e and further separated into equations based on whether or not the vehicle is in gear, as shown below:
(189)
where M.sub.v is estimated vehicle mass, which includes the vehicle mass without payload (M.sub.e) and the vehicle payloads. The term in gear generally references whether or not the powertrain is connected to the wheels. J.sub.w and J.sub.p are the moment of inertia at the wheels and the powertrain, respectively. R.sub.w is the wheel radius. r.sub.p is the lumped powertrain torque transfer ratio, and .sub.p is the lumped torque transfer efficiency. J.sub.p, r.sub.p, and .sub.p vary depending on transmission gear ratio. These values also vary for hybrid electric vehicles having multiple propulsion devices (e.g., a motor and an engine).
(190) An inertia dependent vehicle mass (M.sub.i) is calculated according to equation 52, as shown below:
(191)
(192) An equivalent longitudinal tire force (F.sub.pwt) acting on the wheels may be calculated based on the total powertrain propulsion torque (T.sub.pwt.sub._.sub.whl) or the total regenerative braking torque (T.sub.brk.sub._.sub.whl) according to equation 53 as shown below:
(193)
where T.sub.eng and T.sub.mot are the engine and electric motor output torque, and T.sub.eng.sub._.sub.whl and T.sub.mot.sub._.sub.whl are their corresponding torques at the wheels. r.sub.pe, r.sub.pm, .sub.pe, and .sub.pm are lumped torque transfer ratio and efficiency parameters of the engine, and the motor respectively.
(194) An equivalent longitudinal brake force (F.sub.brk) acting on the wheels may be calculated based on the total frictional braking torque according to equation 54 as shown below:
(195)
where P.sub.brk is the effective brake line pressure in the wheel brake chambers at the wheel assemblies. This is an equivalent term evaluated on all wheels, because individual wheel brake chambers may have different applied brake line pressure. K.sub.brk is the frictional brake effectiveness factor that determines how much frictional brake torque can be realized over the braking pads given a certain brake pressure. The value of K.sub.brk varies with respect to brake system conditions such as temperature, humidity, etc. In one embodiment, K.sub.brk corresponds to a predetermined constant.
(196) A drag force (F.sub.drag) may be calculated according to equation 55 as shown below:
(197)
where .sub.a and C.sub.d are constant aerodynamic parameters, A.sub.d is a vehicle cross sectional area, and f.sub.r is the rolling resistance coefficient.
(198) A load on the vehicle due to gravity (F.sub.g) may be calculated according to equation 56 as shown below:
F.sub.g=M.sub.vg sin .sub.r(56)
where .sub.r is the road gradient.
(199) Equation 56 may be converted to the torque domain as shown in equation 57 below:
T.sub.g=M.sub.vgR.sub.w sin .sub.r(57)
where R.sub.w is the wheel radius.
(200) A first method is provided for estimating vehicle mass concurrently with road gradient using kinematic equations using a least-square type of estimator based on the following parameterized model:
(201)
(202) The estimation results for vehicle mass (Mv) and road gradient (.sub.r) based on the model of equation 58 are obtained as follows:
(203)
(204) However solving for two unknowns (.sub.r and M.sub.v) simultaneously adds additional error to the estimates.
(205) A second approach for estimating the vehicle mass using kinematic equations is to separate the vehicle mass estimate from the road gradient estimate based on the following mathematical model:
(206)
(207) Equation may be simplified as follows, as described above with reference to equation 10, and reproduced below:
{dot over (V)}.sub.x=a.sub.x=a.sub.x.sup.s+a.sub.x.sup.offg sin .sub.r(10)
where a.sub.x.sup.off represents an acceleration offset and is equal to (l.sub.c{dot over (r)}+r*V.sub.yg sin ). l.sub.c is the lateral offset, r is the yaw rate, V.sub.y is the lateral velocity and is the vehicle pitch angle. In one or more embodiments, the vehicle system does not receive these values (l.sub.c, V.sub.y, and ) as inputs. Rather the vehicle system estimates these values from other inputs using a number of compensation strategies.
(208) The following equation is obtained by combining equations 61 and 10:
(209)
(210) The variable (a.sub.g) represents the acceleration disturbance excited from road gradient variation, and may be calculated according to equation 63 as shown below:
(211)
where M.sub.v is the sum of the vehicle mass M.sub.e and vehicle payloads.
(212) The acceleration disturbance (a.sub.g) contributes to the estimation error. When the vehicle payload is small, the a.sub.g may be ignored. a.sub.g may also be regressively compensated after an estimated vehicle mass is in steady state and converged. The acceleration offset (a.sub.x.sup.off) may be determined and used as feedforward input compensation as described above with reference to
(213) Equation 62 may be rearranged to solve for M.sub.e and M.sub.v as shown below:
(214)
(215) The drag force (Fdrag) and the road gradient (.sub.r) are compensated in order to obtain vehicle mass estimates. However, it is difficult to accurately compensate these terms due to signal noise. These terms exhibit slow dynamic variations as compared to the variations exhibited by the vehicle longitudinal dynamic. Therefore these terms may be treated as unknown constants in a short period estimation event. A difference based estimation equation may be derived as follows:
a.sub.x.sup.i(t)M.sub.e=F.sub.whl(t)F.sub.drag(t)+M.sub.ea.sub.g(t)(66)
a.sub.x.sup.i(t+t)M.sub.e=F.sub.whl(t+t)F.sub.drag(t+t)+M.sub.ea.sub.g(t+t)(67)
where the longitudinal acceleration (a.sub.x.sup.i) at time index (i) is equal to (a.sub.x.sup.s+a.sub.x.sup.off) and the force at the wheels (F.sub.whl) is equal to (T.sub.pwt.sub._.sub.whlK.sub.brkP.sub.brk)/R.sub.w. The variable (t) is a time instance within a qualified estimation event. At is a predefined time interval parameter.
(216) As F.sub.drag(t)F.sub.drag(t+t) and a.sub.g(t)a.sub.g(t+t), an incremental vehicle longitudinal dynamic model may be obtained by taking the difference between equations 66 and 67 as shown below:
(217)
where F.sub.whl and a.sub.x.sup.i are the difference between the values of F.sub.whl and a.sub.x.sup.i evaluated in the time interval t within a qualified estimation event.
(218) Estimating vehicle mass (M.sub.v) using such an approach isolates the vehicle mass estimate from noise factors such as: aerodynamic noise, rolling resistance and road gradient. As t.fwdarw.0, the equation 68 may be simplified to a derivative format, according to equation 69 as shown below:
(219)
(220) With reference to
(221) At block 1814, the vehicle system determines dynamic mass input parameters Y.sub.k and .sub.k which represent a system output, and a system input respectively. The input parameters are based on the calculated vehicle speed (V.sub.x) the longitudinal acceleration (a.sub.x.sup.s), a powertrain force (F.sub.pwt), a braking force (F.sub.brk), and an acceleration offset (a.sub.x.sup.off). F.sub.pwt and F.sub.brk are calculated based on T.sub.pwt and T.sub.brk. At block 1816, the vehicle system estimates the dynamic mass (M.sub.v). At block 1818, the vehicle system determines the acceleration offset a.sub.x.sup.off. The acceleration offset is provided as feed-forward RGE input compensation. At block 1820 the vehicle system estimates road gradient .sub.r.
(222) The vehicle system estimates the dynamic vehicle mass (M.sub.v) at block 1816 using a recursive least square (RLS) estimation according to equation 65, 68 or 69, according to one or more embodiments. The RLS estimation is based on the following parameterized estimation model:
y=*(70)
(223) A recursive least square estimation (RLS) estimation algorithm is developed as shown below:
(224)
where {circumflex over ()}(k) is the estimated version of parameter at k-th execution cycle. The RLS estimator is a filtering strategy that averages the estimated data updated based on the error between the measurement and the predicted model output. Such an estimation strategy may be used when the parameter to be estimated is constant in nature. To initiate the estimation, P(0) is set equal to 1.
(225) The parameters of the RLS equations 71-73 vary depending on which vehicle mass estimation equation is used, (e.g., equation 65, 68, or 69).
(226) The following parameters are used when the RLS equations (71-73) are calculated based on the vehicle mass estimation of equation 65:
(227)
(228) The following parameters are used when the RLS equations (71-73) are calculated based the difference based vehicle mass estimation of equation 68:
=M.sub.e
=a.sub.x.sup.i|.sub.t
y=F.sub.whl|.sub.t(75)
(229) Alternatively, the following parameters are used when the RLS equations (71-73) are calculated based the differential based algorithm of equation 69:
(230)
(231) The vehicle system uses the RLS to estimate vehicle mass at certain qualified vehicle events. The mass estimator is developed based on the condition when vehicle dynamic is predominantly longitudinal. Thus the vehicle system searches for conditions under which the vehicle longitudinal inertia effect is significantly dominating the related noise factors, or the signal to noise ratio is high. These qualified events generally occur during vehicle braking/deceleration or during vehicle acceleration.
(232) In one or more embodiments, the vehicle system detects a qualified vehicle braking/deceleration event when each of the following conditions are satisfied:
(233) 1. V.sub.xC_DynMassBrkEntry;
(234) 2. a.sub.x.sup.iC_aRGEAxNeg;
(235) 3. |r|C_small_yaw; and
(236) 4. (Fwhl<C_FBrk and {dot over (F)}.sub.whl<C_DFBrk and {umlaut over (F)}.sub.whl<C_D2FBrk) or (Fwhl<C_FBrk2 and {dot over (F)}.sub.whl<C_DFBrk2).
(237) In one or more embodiments, the vehicle system detects a qualified vehicle acceleration event when each of the following conditions are satisfied:
(238) 1. V.sub.xC_DynMassPropEntry;
(239) 2. a.sub.x.sup.iC_aRGEAxPos;
(240) 3. |r|C_small_yaw; and
(241) 4. (Fwhl>C_FProp and {dot over (F)}.sub.whl<C_DFPropUp and {dot over (F)}.sub.whl>C_DFPropDn and {umlaut over (F)}.sub.whl<C_D2FPropUp and {umlaut over (F)}.sub.whl<C_D2FPropDn) or (Fwhl>C_FProp2 and {dot over (F)}.sub.whl>C_DFProp2 and {umlaut over (F)}.sub.whl>C_D2FProp2)
(242) In the above conditions, a variable that begins with C indicates a calibration parameter. The calibration parameters are predetermined values designed to target a specific estimation event. The conditions provide a tunable construction of qualified predominantly longitudinal vehicle motion. The more strict the parameters are tuned towards dynamic significance, the higher the estimation accuracy that may be achieved. However, such strict parameters will reduce the available estimation time interval, since a qualified event will be less frequent. Thus a qualified estimation event depends on a certain level of driving aggressiveness. The more forceful or rapid the vehicle acceleration or braking is, the more dominant the inertia effect will be excited in the vehicle dynamic. The tuning of the qualified estimation parameters is a tradeoff between estimation accuracy and event occurrence, since aggressive driving behavior is less common during a normal driving process.
(243) With reference to
(244) In operation 1912 the vehicle system evaluates the vehicle speed (Vx) to determine if Vx is greater than an estimation entry speed threshold. Operation 1912 corresponds to the first event condition. The estimated entry speed threshold corresponds to a calibrated brake entry speed threshold (C_DynMassBrkEntry) for the braking event; and to a calibrated propulsion entry speed threshold (C_DynMassPropEntry) for the acceleration event. If the determination at operation 1912 is positive, the vehicle system proceeds to operation 1914.
(245) At operation 1914 the vehicle system updates the estimation model input () and output (Y) based on the vehicle mass estimation algorithm selected, as described with reference to equations 74-76. At operation 1916 the vehicle system computes the estimation condition signals ({dot over (F)}.sub.whl and {umlaut over (F)}.sub.whl), as described with reference to equations 75 and 76.
(246) At operation 1918 the vehicle system evaluates the longitudinal acceleration (a.sub.x.sup.i) and the yaw rate (r) to determine if the vehicle dynamic is primarily longitudinal with a sufficiently small yaw rate. Operation 1918 corresponds to the second and third event conditions. For a braking event, the vehicle dynamic is primarily longitudinal if the longitudinal acceleration (a.sub.x.sup.i) is less than or equal to a calibrated negative acceleration threshold (C_aRGEAxNeg). For an acceleration event, the vehicle dynamic is primarily longitudinal if the longitudinal acceleration (a.sub.x.sup.i) is greater than or equal to a calibrated positive acceleration threshold (C_aRGEAxPos). For both a braking event and an acceleration event, the yaw rate (r) is sufficiently small if the magnitude of the yaw rate (|r|) is less than or equal to a calibrated small yaw rate threshold (C_small_yaw). If the determination at operation 1918 is positive, the vehicle system proceeds to operation 1920.
(247) At operation 1920 the vehicle system evaluates the force at the wheels (Fwhl) along with higher order derivatives of the force at the wheels ({dot over (F)}.sub.whl and {umlaut over (F)}.sub.whl) to determine if a qualified estimation event is present. Operation 1920 corresponds to the fourth event condition.
(248) For a braking event, the fourth condition is satisfied if: the wheel force (Fwhl) is less than a calibrated brake force (C_Fbrk); and the derivative of the wheel force ({dot over (F)}.sub.whl) is less than a derivative of the calibrated brake force (C_DFBrk); and a second derivative of the wheel force ({umlaut over (F)}.sub.whl) is less than a second derivative of the calibrated brake force (C_D2FBrk). Alternatively, the fourth braking condition may also be satisfied if the wheel force (Fwhl) is less than a second calibrated brake force (C_Fbrk2); and the derivative of the wheel force ({dot over (F)}.sub.whl) is less than a derivative of the second calibrated brake force (C_DFBrk2).
(249) For an acceleration event, the fourth condition is satisfied if: the wheel force (Fwhl) is greater than a calibrated propulsion force (C_FProp); and the derivative of the wheel force ({dot over (F)}.sub.whl) is less than a derivative of the calibrated uphill propulsion force (C_DFPropUp); and the derivative of the wheel force ({dot over (F)}.sub.whl) is greater than a derivative of the calibrated downhill propulsion force (C_DFPropDn); and a second derivative of the wheel force ({umlaut over (F)}.sub.whl) is less than a second derivative of the calibrated uphill propulsion force (C_D2FPropUp); and the second derivative of the wheel force ({umlaut over (F)}.sub.whl) is less than a second derivative of the calibrated downhill propulsion force (C_D2FPropDn). Alternatively, the fourth acceleration condition may also be satisfied if the wheel force (Fwhl) is greater than a second calibrated propulsion force (C_FProp2); and the derivative of the wheel force ({dot over (F)}.sub.whl) is greater than a derivative of the second calibrated propulsion force (C_DFProp2); and the second derivative of the wheel force ({umlaut over (F)}.sub.whl) is greater than a second derivative of the second calibrated propulsion force (C_D2FProp2). If the determination at operation 1920 is positive, the vehicle system proceeds to operation 1922.
(250) At operation 1922 the vehicle system executes an RLS vehicle mass estimation algorithm (e.g., using equations 71-73). At operation 1924 the vehicle system estimates vehicle mass (e.g., using equation 65, 68 or 69). After operation 1924, or in response to negative determinations at operation 1912, 1918 or 1920, the vehicle system proceeds to operation 1926, and then returns to operation 1912.
(251) Vehicle mass is unlikely to change when the vehicle is moving. The vehicle system continues to monitor the vehicle state and carries out estimation updates in the presence of a qualified estimation event. The estimated vehicle mass is averaged throughout all the estimation instances with the assumption that the vehicle mass is constant and the estimation noise is zero mean Gaussian. However, vehicle mass may change when the vehicle is moving slowly and when it is stopped for a certain period of time. Under such vehicle conditions, the vehicle system adjusts the sensitivity of the RLS estimator to a more sensitive state, such that a change in vehicle mass is readily detected.
(252) With reference to
(253) At operation 2012 the vehicle system evaluates the vehicle speed (Vx) to determine if the vehicle speed is less than a vehicle stop speed threshold. If the determination at operation 2012 is positive, the vehicle system proceeds to operation 2014 and increments, or counts up the vehicle stop/standstill timer (Tmr_stand) by one cycle time and the stop/standstill timer will start recording the vehicle stopped duration. At operation 2016 the vehicle system resets a drive-off timer (Tmr_drive), by setting Tmr_drive equal to zero.
(254) At operation 2018 the vehicle system evaluates a total count of qualified estimation events (Cntr_EstTot), to determine if Cntr_EstTot is greater than a calibrated estimated event threshold (C_QuaEstEvnt). If the determination at operation 2018 is positive, the vehicle system proceeds to operation 2020 and updates a RLS estimation memory (Vmass_memo) by setting Vmass_memo equal to a present vehicle mass estimate (Vmass_est). Vmass_est corresponds to the vehicle mass (Vmass_rls) estimated at operation 1924 of
(255) At operation 2022 the vehicle system evaluates the stop/standstill timer (Tmr_stand) to determine if Tmr_stand is greater than a calibrated standstill timer (C_StandstilTm). If the determination at operation 2022 is positive, the vehicle system proceeds to operation 2024 and resets the RLS parameter and mass estimation boundaries to their original values. For example, the vehicle system may set the RLS estimation parameter P(k) (from equation 73) to its initial value P(0). At operation 2026 the vehicle system resets the total qualified estimation instance counter (Enter_EstTot) by setting Enter_EstTot equal to zero. If the determination at operation 2012 is negative, the vehicle system proceeds to operation 2028.
(256) At operation 2028, the vehicle system evaluates the vehicle speed (Vx) to determine if Vx is greater than a drive-off speed threshold. If the determination at operation 2028 is positive, the vehicle system proceeds to operation 2030 and increments, or counts up the vehicle drive-off Timer (Tmr_drive) by one cycle time, and the drive-off timer will start recording the vehicle moving duration. At operation 2032 the vehicle system evaluates the drive-off timer (Tmr_drive) and the stop/standstill timer (Tmr_stand) to determine if both Tmr_drive is greater than a calibrated drive-off timer (C_StandstilTm); and if Tmr_stand is greater than zero. If the determination at operation 2032 is positive, the vehicle system proceeds to operation 2034. At operation 2034 the vehicle system resets a stop/standstill timer (Tmr_stand), by setting Tmr_stand equal to zero. After operations 2026, and 2034, or in response to a negative determination at operations 2022, 2028 or 2032, the vehicle system proceeds to operation 2336, and then returns to operation 2012.
(257) A brief or transient qualified estimation event, is insufficient for vehicle mass estimation. Generally, a transient event does not satisfy the second condition related to longitudinal inertia. However, even if such a transient event does satisfy the second condition, the vehicle system still removes a transient event from the estimation results because it will take a certain period of estimation presence before the estimated vehicle mass starts to converge. The estimated vehicle mass is updated when a sufficient number of estimation instances have be observed.
(258) With reference to
(259) At operation 2112 the vehicle system determines if a qualified estimation event is present. Operation 2112 corresponds to operations 1912-1920 of
(260) At operation 2122 the vehicle system evaluates the estimation instance counter (Cntr_est) to determine if Cntr_est is equal to the calibrated time interval threshold (C EstEvnt4Update). If the determination at operation 2122 is negative, the vehicle system proceeds to operation 2124 and increments the estimation instance counter (Cntr_est) by one cycle time. If the determination at operation 2122 is positive, the vehicle system increments the accumulative counter (Cntr_EstTot) by Cntr_est, which counts up at each instance in qualified estimation events.
(261) At operation 2128 the vehicle system evaluates the accumulated count of qualified estimation events (Cntr_EstTot) to determine if Cntr_EstTot is greater than a calibrated qualified estimation event threshold (C_QuaEstEvnt). If the determination at operation 2128 is positive, the vehicle system proceeds to operation 2130 and sets the dynamic mass estimation output (Vmass_est) equal to the RLS estimator state (Vmass_rls). If the determination at operation 2128 is negative, the vehicle system proceeds to operation 2132 and sets the dynamic mass estimation output (Vmass_est) equal to the stored estimation memory value (Vmass_memo).
(262) If the determination at operation 2112 is negative, a qualified estimation event is not present, then the vehicle system proceeds to operation 2134. At operation 2134 the vehicle system decreases the estimation instance counter (Cntr_est) by one cycle time. At operation 2136 the vehicle system evaluates the estimation instance counter (Cntr_est) to determine if Cntr_est is less than or equal to zero. If the determination at operation 2136 is positive, the vehicle system proceeds to operation 2138 and sets the present vehicle mass estimation state (Vmass_rls) equal to the estimation update state (Vmass_update). After operations 2130, 2132, 2138, and in response to a negative determination at operation 2136, the vehicle system proceeds to operation 2140, and then returns to operation 2112.
(263) With reference to
(264) The boundaries are dynamic in that they converge towards the estimated vehicle mass. Since vehicle mass generally does not change while the vehicle is moving, the boundaries narrow or converge toward a moving average of the estimated vehicle mass such that the difference between the two boundaries decreases as more estimation information becomes available to filter out unreasonable vehicle mass estimates. For example, as shown in the illustrated embodiment, at time 150 s, the Ubd has decreased to approximately 2,200 Kg, and the Lbd has increased to approximately 1,750 Kg, with a difference of approximately 450 Kg.
(265) The estimation boundaries will be reset to the original upper and lower limits when the reset condition is satisfied as described above with reference to
(266) With reference to
(267)
(268) The vehicle system may estimate a dynamic road gradient based on the estimated vehicle mass, for example by using equation 60. Additionally the estimated vehicle mass may be used for other vehicle systems, such as brake apply and release detection (BARD) for micro-HEVs having start/stop functionality.
(269) As such, the vehicle system provides advantages by estimating the vehicle mass independent of the road gradient estimation using an event-seeking strategy. The mass is estimated at vehicle conditions, or qualified events, where the signal to noise ratio of certain inputs is high. The vehicle system then estimates vehicle mass using a recursive least square (RLS) algorithm when the sought event occurs. The vehicle system re-initializes certain parameters in the mass estimation algorithm at vehicle conditions corresponding to potential mass changes (e.g., when the vehicle stops) in order to increase the sensitivity of the algorithm. The vehicle system estimates a dynamic road gradient (RGE.sub.dyn) based on the estimated vehicle mass. Generally the dynamic RGE has lower quality conditions as compared to static and kinematic RGE because it involves more signals in its estimation, and the noise and error in each signal will be propagated in the final RGE output. However, the dynamic RGE does not rely on the longitudinal acceleration signal and therefore it has different signal coverage from that of the static and the kinematic estimations. Additionally, the vehicle system estimates the vehicle mass independent of the road gradient estimation, thereby isolating noise in RGE.sub.dyn from the vehicle mass estimate.
(270) As described above, with reference to
(271) The estimation quality factor for the RGE output as well as that for each RGE algorithm (static, kinematic, and dynamic) corresponds to a value between 0-3, and is represented by variables (QF.sub.RGE, QF.sub.st, QF.sub.kin, and QF.sub.dyn). The quality factor evaluates both the availability and the accuracy of the estimated information. The quality factor (QF) factor is selected from a range of 0-3, where a quality factor of three (3) indicates full quality where the estimation condition is satisfied. A quality factor of two (2) indicates degraded quality when the estimation condition is not fully satisfied but the estimation state does not deviate too far from its setpoint. A quality factor of one (1) indicates that no qualified estimation has been achieved near the instantaneous spot and that the estimation state has not achieved sufficient convergence, a quality factor of zero indicates estimation not available.
(272) The vehicle system evaluates the RGE input signal quality and processing, which are referenced by numerals 414 and 412 in
(273) The static RGE algorithm estimates road gradient based on the longitudinal acceleration input (a.sub.x.sup.s). Static RGE is suited for vehicle standstill conditions, such as engine start/stop functionality when a micro-hybrid is stopped on an incline. The vehicle system evaluates the static RGE quality, based on the acceleration sensor measurement signal's stability. The sensor stability is indicated by the signals oscillation and variation level as compared to thresholds on its filtered first order derivative. The highest quality is achieved when the vehicle is in standstill and the vehicle body is stabilized such that the accelerometer output is near a converged steady state. A higher oscillation level will degrade the estimation quality and become unavailable when the preceding kinematic estimation fails to set the static estimation's initial value in the current vehicle stop event.
(274) The kinematic RGE algorithm estimates RGE based on input corresponding to the vehicle's kinematic properties including the relationship between vehicle speed, accelerations and yaw rate. The algorithm processes the input using a Kalman Filter. The kinematic RGE algorithm is suited for normal vehicle motion conditions (e.g., Vx>5 kph) because some of the underlying calculations have low accuracy at low vehicle speeds. Additionally, a Kalman filter is a dynamic filter, a good estimation is usually not available until the estimation state has converged. The transient time depends on the difference between the initial state and the true road grade state as well as the estimation conditions like: signal frequency component richness and signal to noise ratio. The vehicle system evaluates the quality of the kinematic RGE based on assessing the quality of its input signals, its estimation state, vehicle state as well as the estimation settle down time period.
(275) The dynamic RGE algorithm 426 estimates RGE based on input corresponding to vehicle speed, wheel torques (brake torque and powertrain output torque), and other drag forces acting on the vehicle (e.g., aerodynamic drag, rolling resistance and the road gradient load). Generally the dynamic RGE has lower quality conditions as compared to static and kinematic RGE because it involves more signals in its estimation, and the noise and error in each signal will be propagated in the final RGE output. Similar to the kinematic algorithm, the quality the dynamic RGE estimation is also evaluated over its input signal, estimation state, vehicle states, estimation qualification conditions, and estimation convergence/settle-down time period.
(276) The signals that are provided to the Kalman filter based estimator (e.g., RGE.sub.kin) are grouped into two sets: the primary signals and the supportive signals. The primary signals are used to compute the inputs and outputs of the estimator system equation. The supportive signals are used to adjust the estimator mode or parameters to be adaptive to different driving situations.
(277) When any of the primary signals are not ok, (e.g., QF<3), the estimation result will start deviating from the true value. The vehicle system evaluates the impact of the degraded signal to the estimation state by counting the time period during which degraded primary signals are present, which is referenced by variable T.sub.dgd. The vehicle system also interpolates a degradation impact factor C.sub.dgi with respect to T.sub.dgd. Such an interpolation may be based on predetermined data stored in a look up table. In general, the principle of determining c.sub.dgi is that the longer the presence of the degraded primary signals, the worse the impact on the estimation results. An estimation quality index variable (c.sub.est.sup.c) is calculated according to equation 77 as shown below:
q.sub.est.sup.c=T.sub.dgd*C.sub.dgi(77)
(278) Alternatively, a pre-calibrated value of q.sub.est may be used and the estimation process will be halted in the presence of degraded primary signals to the estimator.
(279) After the primary signals all resume good quality, the estimation does not converge back to the true estimation target state immediately. The estimation results can be used confidently after a converging phase occurs. In order to represent the converging phase, a fading factor, f.sub.dgi, is designed that takes a value between 0 and 1 to decrease the value of q.sub.est that has been accumulated from a previous degraded signal event such that:
q.sub.est.sup.0=q.sub.est.sup.0*f.sub.dgi(78)
(280) This computation is repeated in each control implementation cycle to gradually decrease the value of q.sub.est down to zero.
(281) At each moment, the occurrence of a present impact increasing can occur simultaneously with the decreasing of the impact from a previous event. Thus, the final estimation quality index is determined by the maximum value among q.sub.est.sup.0 and q.sub.est.sup.c, i.e. q.sub.est=max(q.sub.est.sup.0, q.sub.est.sup.c).
(282) With reference to
(283) In operation 2512 the vehicle system evaluates a road gradient estimation (RGE) signal to determine if the estimation is locked. An RGE is locked when it is not updating. The RGE may be locked to its latest high quality value when its quality degrades. If the determination at operation 2512 is positive the vehicle system proceeds to operation 2514 and locks the quality factor of the evaluated estimation (QF_est) to its current value. The variable QF_est is a generic value corresponding to the quality factor for kinematic or dynamic road gradient estimations. When the estimation algorithm does not satisfy a qualified estimation condition and the estimation is locked, its associated quality evaluation is locked as well until a next estimation event will happen. If the determination at operation 2512 is negative, the vehicle system proceeds to operation 2516.
(284) At operation 2516 the vehicle system evaluates the road gradient estimation (RGE) signal to determine if the estimation is active. RGE is active, if it is updating. If the determination at operation 2516 is negative, the vehicle system proceeds to operation 2518 and sets the quality factor to a value corresponding to no data, (e.g., QF=0). If the determination at operation 2516 is positive, the vehicle system proceeds to operation 2520.
(285) At operation 2520, the vehicle system compares the evaluated quality index (q.sub.est), as described above with reference to equations 77 and 78, to an OK threshold parameter (Q_est_ok), to determine if q_est is less than Q_est_ok; and there is no supportive signal degradation. If the determination at operation 2520 is positive, the vehicle system proceeds to operation 2522 and sets the quality factor to a value corresponding to OK, (e.g., QF=3). If the determination at operation 2520 is negative the vehicle system proceeds to operation 2524.
(286) At operation 2524, the vehicle system compares the evaluated quality index (q.sub.est) to a FAULT threshold parameter (Q_est_degrade), to determine if q_est is greater than or equal to Q_est_degrade. If the determination at operation 2524 is positive, the vehicle system proceeds to operation 2524 and sets the quality factor to a value corresponding to FAULT. If the determination at operation 2524 is negative the vehicle system proceeds to operation 2528 and sets the quality factor to a value corresponding to DEGRADED, (e.g., QF=2). After operations 2514, 2518, 2522, 2526 and 2528, the vehicle system proceeds to operation 2530, and then returns to operation 2512.
(287) With reference to
(288) The Kalman filter based estimation, such as that used for RGE.sub.kin, assumes that the road gradient state is stable and is close to a constant state in a short period of time or distance. This assumption is generally true, because most roads do not have rapid changes in road gradient. However, as shown in
(289) The vehicle system includes a method, (not shown) for monitoring an estimation variation to determine the estimation quality (accuracy) based on the magnitude of the road gradient variation. In this method, a derivative of the estimated road gradient is calculated (RE.sub.EST). A transition period is identified, when the derivative (RE.sub.EST) is greater than a threshold estimation and such condition is true for longer than a predetermined period of time, the transition period is identified. Subsequently, the estimation quality (QF) will be reduced to a degraded level (QF=2) if no other degradation factor is also present simultaneously. Such degradation will be cancelled when the derivative signal settles down to a low value for another settling time period. In general, this method informs other vehicle systems that are using the RGE output, that the estimation is not fully accurate in the transition period of time when road gradient changes significantly in a short period of time.
(290) The road gradient estimations are not available at very low vehicle speeds, as shown in column 6, of Table A. Although none of the estimates are available at very low vehicle speeds, (e.g., less than 5 mph), the vehicle system still provides an accurate road gradient estimate during such conditions. At low vehicle speeds the vehicle speed provided by or derived from a sensor signal, (e.g., wheel speed sensors or GPS), is not accurate. The vehicle system stops the estimation at such speeds, to avoid propagating this inaccuracy in the road gradient estimation, (e.g., RGEkin and RGEdyn), and locks the estimator state to its latest qualified estimation result.
(291) A vehicle may travel an extended distance at such very low vehicle speeds. Therefore the actual road gradient may change after the RGE is stopped. In such conditions, the accuracy of the locked RGE output will decrease. Therefore the vehicle system downgrades the associated estimation quality accordingly. The vehicle system defines two vehicle speed thresholds, (V.sub.stp and V.sub.exit), which represent a vehicle stop speed threshold, and a vehicle exit speed threshold, respectively. Where V.sub.stp is greater than V.sub.exit. When the vehicle speed (Vx) is less than V.sub.stp, The vehicle system (using a Kalman filter (or a least square type of filter) based estimation algorithm) halts or stops the estimation by locking all of the estimation states. However, after recording the data at the estimation stop moment, the estimation algorithm continues, before the vehicle speed (Vx) further decreases down to V.sub.exit, or before Vx increases above V.sub.stp. When operating in the speed range between V.sub.exit<V.sub.x<V.sub.stp, the new estimation output (RGE.sub.out) will continue to compare the locked estimation output. If the difference between current RGE state and the locked RGE is greater than a first difference threshold, the estimation quality will be downgraded to a lower level indicating that the estimation output may not be accurate enough in this new situation. However, if the difference between them is greater than a second difference threshold, the estimation quality will be downgraded to a No Data level (e.g., QF=0) indicating that the estimation result cannot be used. After the vehicle speed (Vx) decreases further below V.sub.exit, the estimation will be fully stopped and no more estimation activity will be carried out. Once the vehicle speed (Vs) increases above the V.sub.stp threshold, the locked and recorded estimation states will be reloaded back to the estimation algorithm to resume normal estimation function.
(292) The vehicle system stops the road gradient estimator once the vehicle speed (Vx) is less than V.sub.exit, in one or more embodiments, because an estimation at such conditions would not be accurate. V.sub.exit may be referenced as a crawling speed. However, the vehicle may continue to travel at such a crawling speed.
(293) With reference to
(294) However, there may be no RGE algorithm available in the low speed range between 0 and V.sub.exit. Thus, the road gradient variation while the vehicle is moving at such low speed cannot be detected and estimated. In order to assure RGE's robustness in reporting road gradient information, the vehicle system includes a conservative countermeasure to avoid a road gradient estimation being used without providing information regarding the quality of the RGE.
(295) The vehicle system includes a method, (not shown) for monitoring vehicle speed (Vx) in a crawling event, according to one or more embodiments. A crawling event occurs when Vx is less than v_exit (e.g., less than 5 kph) and the current estimator quality evaluation is OK (e.g., QF=3). The vehicle system calculates a crawling distance (Dc), by integrating the vehicle speed. The vehicle system downgrades the quality factor to degraded (QF=2) when Dc is greater than a first distance threshold. The vehicle system downgrades the quality factor to no data (QF=0) when Dc is greater than a second distance threshold. The vehicle system resets the crawling distance (Dc) to zero, when any RGE estimator starts providing a qualified output. Meanwhile, the quality of RGE will be arbitrated to the current active estimator's quality evaluation result to replace the quality evaluated in the crawling event. The vehicle system will restart the crawling distance computation, when the quality evaluation (QF) downgrades in the speed range (v_exit<Vx<v_stp). Additionally, the vehicle system restarts the Dc computation when the continued estimation result deviates from the locked estimation result more than a certain threshold, even if the vehicle speed is greater than V.sub.exit.
(296) As such the vehicle system provides advantages over existing system by evaluating the quality of input signals, road gradient estimations and mass estimations and providing quality factors associated with each input and estimation. The vehicle system arbitrates or selects an estimation based in part on the quality factors. The vehicle system then provides a road gradient estimation and a vehicle mass estimation with a corresponding quality factor based on the selected estimation. Other vehicle systems may use the road gradient and vehicle mass estimations differently, depending on the associated quality factors.
(297) As demonstrated by the embodiments described above, the vehicle, vehicle system, and method provide advantages over the prior art by arbitrating or selecting a road gradient estimation from a number of different estimations (static, kinematic, and dynamic). By arbitrating between these different estimations, the vehicle system provides a road gradient estimation over a wide range of vehicle conditions. The vehicle system also provides advantages over existing systems by estimating static road gradient using dynamically filtering of the longitudinal acceleration, and by using another estimation for the initial value; which reduces the time delay before a quality static road gradient estimated value may be provided. The vehicle system also provides advantages over the existing methods by estimating kinematic road gradient using an EKF, which provides an integral type filtering strategy. Such an integrating strategy does not amplify noise on the signals, and therefore provides improved estimation accuracy with relatively fast convergence. The vehicle system also provides advantages over the existing methods by estimating kinematic road gradient using input compensated acceleration offset to improve accuracy to remove uncertainties and offsets caused by lateral vehicle dynamics and their coupling effects. The vehicle system provides advantages by estimating vehicle mass independent of the road gradient estimation using an event-seeking strategy. The vehicle system re-initializes certain parameters in the mass estimation algorithm at vehicle conditions corresponding to potential mass changes (e.g., when the vehicle stops) in order to increase the sensitivity of the algorithm. The vehicle system estimates a dynamic road gradient (RGE.sub.dyn) based on the estimated vehicle mass. The vehicle system also provides advantages over existing system by evaluating the quality of input signals, road gradient estimations and mass estimations and providing quality factors associated with each input and estimation. The vehicle system arbitrates or selects an estimation based in part on the quality factors. The vehicle system then provides a road gradient estimation and a vehicle mass estimation with a corresponding quality factor based on the selected estimation. Other vehicle systems may use the road gradient and vehicle mass estimations differently, depending on the associated quality factors.
(298) While the best mode has been described in detail, those familiar with the art will recognize various alternative designs and embodiments within the scope of the following claims. Additionally, the features of various implementing embodiments may be combined to form further embodiments of the invention. While various embodiments may 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 will recognize that one or more features or characteristics may be compromised to achieve desired system attributes, which depend on the specific application and implementation. These attributes may include, but are not limited to: cost, strength, durability, life cycle cost, marketability, appearance, packaging, size, serviceability, weight, manufacturability, ease of assembly, etc. The embodiments described herein that are 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 may be desirable for particular applications. Additionally, the features of various implementing embodiments may be combined to form further embodiments of the invention.