Vehicle road grade
The described processing circuitry accurately determines road grade and vehicle mass using inertial and gyroscope data, addressing inaccuracies in existing systems and improving vehicle control and handling.
Patent Information
- Authority / Receiving Office
- GB · GB
- Patent Type
- Applications
- Current Assignee / Owner
- GARRETT TRANSPORTATION I INC
- Filing Date
- 2024-11-28
- Publication Date
- 2026-06-24
AI Technical Summary
Existing vehicle control systems face inaccuracies due to unreliable estimations of road grade and vehicle mass, leading to suboptimal performance and handling.
A processing circuitry that utilizes inertial measurement units, gyroscopes, and Kalman filters to accurately determine road grade and vehicle mass by combining acceleration-based and gyroscope-based measurements, and applying complementary filtering to enhance accuracy.
Improves vehicle handling and control by providing precise road grade and mass estimates, enhancing the performance of systems like cruise control and lateral motion control.
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
The present disclosure relates to determining a vehicle road grade, and to using the determined vehicle road grade in the control of a vehicle. BACKGROUND In general, when a vehicle is being controlled, determining vehicle parameters accurately may lead to improved control and hence improved performance. Determining the vehicle road grade may be used to determine part of the performance, or operation, or the vehicle, and alternatively or additionally may be used to control the vehicle. SUMMARY OF THE INVENTION Examples herein relate to determining a measure of the road grade of a vehicle. The road grade, which may be considered a measure of the angle of inclination on a road on which a vehicle is situated or may travel, is an external disturbance that is highly subject to change and can influence the vehicle response and behaviour. Similarly, the vehicle mass is an often-changing parameter (the number of passengers and a vehicle payload may change often) which can impact the vehicle dynamic response and the behaviour of vehicle control systems. Systems such as electronic control units (ECUs) for the vehicle, control systems in general, or motion control systems such as cruise control systems and lateral motion control systems may use an estimate of the road grade and / or the vehicle mass in their determination of one or more vehicle parameters (e.g. control parameters according to which the vehicle may be controlled). Inaccurate estimations of these parameters may lead to suboptimal vehicle control and handling. The present disclosure relates to processes for determining the road grade and the vehicle mass that are more accurate and hence will lead to control systems that improve the vehicle handling performance, particularly compared to any systems that use nominal values of the road grade and / or the vehicle mass. In some examples of the present disclosure, the vehicle pitch angle is used to further improve the accuracy of the road grade estimation. According to this disclosure there is provided processing circuitry for a vehicle. The processing circuitry is configured to: obtain a measure of the vehicle’s acceleration based on the vehicle’s speed, obtain a measure of the vehicle’s acceleration from an inertial measurement unit onboard the vehicle, and to obtain a measure of the circumferential acceleration of the vehicle. The processing circuitry is configured to determine a measure of the road grade on which the vehicle is situated (e.g. stationary or travelling / moving) or on which the vehicle may travel based on the measure of the vehicle’s acceleration based on the vehicle’s speed, the measure of the vehicle’s acceleration from the inertial measurement unit, and the measure of the circumferential acceleration of the vehicle. The measure of the road grade may be the actual road grade plus the vehicle body pitch angle. The measure of the road grade may be based on an acceleration-based measure of the road grade which may be given by a trigonometric function of a quantity based on at least the acceleration as measured by the vehicle’s inertial measurement unit, the circumferential acceleration, and the acceleration determined based on the vehicle speed. In one example the trigonometric function may be inverse tan, or arctan, or atan. The measure of the road grade may be based on an acceleration-based measure of the road grade, wherein the processing circuitry is configured to obtain the acceleration-based measure of the road grade by the following formula: — utun wherein ag denotes the vector of the vehicle’s acceleration due to gravity, ag, ayg, and azg respectively denoting the components of ag in the x, y, and z directions, and wherein ag is given by: dg MU with aIMU being the vector of acceleration as measured by the vehicle’s inertial measurement unit, ac being the circumferential acceleration vector, and av being the acceleration vector determined based on the vehicle speed. The measure of the road grade may be based on an acceleration-based measure of the road grade, wherein the processing circuitry is configured to obtain the acceleration-based measure of the road grade by the following formula: wherein ag denotes the vector of the vehicle’s acceleration due to gravity, wherein: ,norm g anorm,x anorm,y anc| ^rm,! respectively denote the components of a™rm in the x, y, and z directions, and wherein ag is given by: dg &IMU with aIMU being the vector of acceleration as measured by the vehicle’s inertial measurement unit, ac being the circumferential acceleration vector, and av being the acceleration vector determined based on the vehicle speed. The processing circuitry may be configured to obtain a gyroscope-based measure of the road grade flgyro , the determined measure of the road grade being based on the gyroscope-based measure of the road grade flgyro. The processing circuitry may be configured to obtain a vehicle body pitch rate from a gyroscope onboard the vehicle. Optionally, the processing circuitry is configured to determine the gyroscope-based measure of the road grade flgyro by integrating the vehicle body pitch rate received from a gyroscope onboard the vehicle. Optionally, the processing circuitry is configured to cause the acceleration-based measure of the road grade to be passed through a complementary filter comprising a high-pass filter and a low-pass filter to obtain a low-pass filtered acceleration-based measure of the road grade, LPF(flacc), and to cause the gyroscope-based measure of the road grade to be passed through the complementary filter to obtain a high-pass filtered gyroscope-based measure of the road grade, HPF(flgyroy The measure of the road grade, fl, may be given by: fl = LPF(flacc) + HPF(flgyro) The complementary filter may be configured such that HPF = 1 - LPF for each frequency (HPF « 1 - LPF in some examples). The processing circuitry may be configured to obtain the vehicle body pitch angle for the vehicle and to determine an actual road grade for the vehicle by subtracting the vehicle body pitch angle from the determined measure of the road grade. The processing circuitry may be configured to determine a measure of the vehicle mass by using a Kalman Filter algorithm, the states of the Kalman Filter algorithm being the vehicle longitudinal speed, the angular speeds of at least two wheels, and a state that is based on the vehicle mass, the Kalman Filter algorithm model having at least the actual road grade as an input and having, as outputs, the vehicle longitudinal speed and the angular speeds of the at least two wheels. The Kalman Filter algorithm model may comprise an Extended Kalman Filter algorithm model. The processing circuitry may be configured to cause the Kalman Filter algorithm model to pause, thereby causing the determination of the vehicle mass to pause, in response to a determination that a pausing condition is met. The pausing condition may be at least one of the following: a determination that at least one measurement received from the inertial measurement unit is invalid; a determination that the vehicle speed is below a predetermined threshold; a determination that the sum of all torques acting on all of the vehicle’s wheels is below a predetermined threshold; a determination that a vehicle acceleration is above a predetermined threshold; a determination that a vehicle acceleration is below a predetermined threshold; a determination that the vehicle is decelerating; and a determination that the vehicle’s steering wheel angle is above a predetermined threshold. The processing circuitry may be configured to increase at least one value of the covariance matrix of the Kalman Filter algorithm model in response to a determination that a condition indicating a change in vehicle mass is met. The condition indicating a change in vehicle mass may be at least one of the following: a determination that at least one door of the vehicle is open or is being opened and the vehicle is not moving; a determination that the trunk or boot of the vehicle is open or is being opened and the vehicle is not moving; a determination that a previously-fastened seatbelt is unfastened and the vehicle is not moving; and a determination that a previously-empty seat is occupied. The processing circuitry may be configured to determine at least one of the vehicle body pitch angle and the vehicle road grade based on the determined mass. The processing circuitry may be configured to control the operation of the vehicle based on at least one of the determined measure of the road grade, the determined actual road grade, and the determined vehicle mass. BRIEF DESCRIPTION OF THE DRAWINGS Examples of the present disclosure will be described in detail with reference to the accompanying drawings, which should not be considered limiting, in which: Figure 1 shows a schematic diagram of a vehicle traveling along an incline to indicate various quantities that are relevant to this disclosure; Figures 2-4 show flowcharts of example processes; and Figures 5-7 show schematic diagrams to illustrate the processes of Figure 2-4. DETAILED DESCRIPTION These drawings should not be considered limiting, rather they are used for explaining and understanding the present disclosure. Figure 1 shows a schematic diagram of a vehicle being operated along a road having an incline. Figure 1 indicates various quantities that are relevant to understanding the present disclosure that will now be described. The incline of the road is also referred to as the road grade Q which may also be referred to as the slope of the road. In addition, the vehicle has a pitch angle, or pitch, 0 which may be considered a movement, or shift in the vehicle’s weight, about a “pitch axis” which, in this example, is the y-axis of the vehicle (from left to right with reference to the vehicle body), perpendicular to the vehicles forward-backward movement. Pitch may be referred to as tilt. Pitch may be movement of the vehicle in an “up-down” direction having regard to the vehicle’s situation on a road surface. As shown in the figure, the road grade is the angle the road makes with reference to a horizontal plane, or axis, being defined as a plane having the gravitation vector as its normal vector and the pitch is the angle the vehicle body longitudinal direction, or direction of travel of the vehicle body, makes with the road. This defines a third angle fl being the sum of the two. In other words, the angle fl is the angle that the pitch of the vehicle makes between the vehicle body longitudinal axis and with the horizontal plane or axis from which the road grade is measured. The direction of travel is also the direction of the vehicle’s longitudinal velocity whose vector is denoted by v. This defines an acceleration vector av (= v). The gravitational vector g is also shown. The circumferential acceleration, ac, is not shown in Figure 1 but it will be appreciated that this vector is directed out of the page, the lateral / y-axis, parallel with the axis of the vehicle’s pitch. Also not shown is that the vehicle comprises an inertial measurement unit, or system, (“IMU”) which is configured to obtain a measurement of the vehicle acceleration, aIMU. Figure 1 shows a vehicle coordinate system, or a coordinate system with reference to the vehicle, having x, y, and z ordinates defining three perpendicular axes. The x axis is parallel to the direction of travel of the vehicle which may also be referred to as the vehicle body longitudinal axis, parallel to the front-rear direction of the vehicle. The y axis is perpendicular to the x axis and is parallel to the left-right direction of the vehicle, also referred to as the lateral direction of the vehicle body. The z axis is perpendicular to both the x and y axes, and is in the direction of the vehicle floor, or toward the ground or road on which the vehicle is situated (e.g. stationary, such as parked or traveling, e.g. moving), which, as indicated in Figure 1 may not be parallel with the gravity vector if the road has an incline (or a non-zero road grade). Figure 2 shows a flowchart of a process 200 for determining a measure of the road grade on which the vehicle is situated or on which the vehicle may travel. At block 202 the process comprises obtaining a measure of the vehicle’s acceleration based on the vehicle’s speed. The measure of acceleration obtained at block 202 may be the vector av mentioned above with reference to Figure 1 and may be calculated from the vehicle speed as measured or determined (for example determined based on GPS signals of the vehicle’s position from which the velocity and acceleration may be calculated, the acceleration may also be determined according to the filtered difference of two consecutive longitudinal velocity values as described below with reference to block 306 of Figure 3). At block 204 the process comprises obtaining a measure of the vehicle’s acceleration from an inertial measurement unit onboard the vehicle. The measure of acceleration obtained at block 204 may be the vector aIMU mentioned above with reference to Figure 1. At block 206 the process comprises obtaining a measure of the circumferential acceleration of the vehicle. At block 208 the process comprises determining a measure of the road grade on which the vehicle is situated or may travel based on the quantities obtained at blocks 202-206, e.g. the measure of the vehicle’s acceleration based on the vehicle’s speed, the measure of the vehicle’s acceleration from the inertial measurement unit, and the measure of the circumferential acceleration of the vehicle. Determining the measure of the road grade based on these three accelerations may enable a more accurate road grade to be determined. In particular, the influence of all of the acceleration based on the vehicle velocity, circumferential acceleration, and the acceleration as determined by an inertial measurement unit, more accurately determine the angle of inclination of the road on which the vehicle is traveling particularly in certain conditions (such as a high road curvature). Any suitable way of determining the measure of the road grade based on the three vectors may be used. In one example, the determined measure of the road grade, determined at block 208, is the quantity fl described above with reference to Figure 1. In other words, the measure of the road grade determined at block 208 may be equal to the actual road grade y plus the vehicle body pitch angle 0. Example ways of determining the measure of the road grade will now be described with reference to Figure 3. Figure 3 shows a flowchart of a process 300 for determining a measure of the road grade on which the vehicle is situated. At blocks 302, 304, and 306, the process comprises obtaining a measure of the vehicle’s acceleration based on the vehicle’s speed, obtaining a measure of the vehicle’s acceleration from an inertial measurement unit onboard the vehicle, and obtaining a measure of the circumferential acceleration of the vehicle, respectively, for example as described with respect to blocks 202-206 of Figure 2. At block 308 the process comprises determining a measure of the road grade on which the vehicle is situated based on the quantities obtained at blocks 302-306, e.g. the measure of the vehicle’s acceleration based on the vehicle’s speed, the measure of the vehicle’s acceleration from the inertial measurement unit, and the measure of the circumferential acceleration of the vehicle, for example as described with respect to block 208 of Figure 2. In one example, the circumferential acceleration vector ac may be based on the vehicle yaw rate and the vehicle velocity. Obtaining the circumferential acceleration at block 304 may comprise obtaining, at block 310, a yaw rate for the vehicle and obtaining, at block 312, the velocity of the vehicle. The velocity, v, obtained at block 312 may be the vehicle longitudinal velocity and may be the velocity described above with relation to Figure 1, which may be computed based on the wheel speeds as measured, e.g. by the vehicle, by an IMU, or by GPS measurements, in which case the process comprises receiving measurements from a GPS system and calculating the vehicle speed based on those measurements. In one example, block 304 may comprise determining the circumferential acceleration based on the yaw rate and velocity according to the formula: ac = ^Vx In other words, d-c,x 0 de = dcy = ip Vx dc,Z. 0 This may be an approximation of the circumferential acceleration, with ip denoting the yaw rate (the rate of change of the vehicle yaw ip). It will be appreciated that the circumferential acceleration vector will only have a non-zero component in the y direction (with reference to the vehicle axis). The vehicle acceleration (e.g. the longitudinal acceleration) at block 306 is based on the vehicle velocity (e.g. longitudinal velocity), which may be obtained at block 312. The term av corresponds to the vehicle acceleration and can be approximated as a filtered difference of two consecutive measurements of longitudinal vehicle speed (the filter may be a low-pass filter, for example a discrete-time low-pass filter). Use of the filter may eliminate or reduce any noise. In one example, block 306 may comprise determining the vehicle acceleration according to the formula: av = filter Vxik) — vx(k — 1) At wherein vx(k) is the x component of the velocity vector at the kth epoch, vx(k - 1) is the x component of the velocity vector at the (k-1)th epoch, and At is the time difference between epochs. It will be appreciated the vehicle acceleration in the longitudinal direction will only have a non-zero component in the x direction, e.g.: Vx 0 0 This may be an approximation of the vehicle longitudinal acceleration. Any suitable filter may be used above for the vehicle acceleration. In one example, the filtering of the vehicle speed difference is implemented as first order discrete time low pass filter. In one example the first order discrete time low pass filter. In this way, noise from the difference calculation is filtered out. Block 308 comprises determining a measure of the road grade, for example as described with respect to block 208 of Figure 2. As indicated by block 314, in one example the process comprises determining a vector of the vehicle’s acceleration in the direction of the Earth’s gravity (the “gravitational direction”), as indicated by the vector g in Figure 1. In one example the acceleration due to gravity may be determined by the following formula: ^g MU This equation may be motivated by the idea that the road grade influences the acceleration measured by the IMU (e.g. when driving uphill, only part of the acceleration induced by gravitational acceleration ^is measured by accelerometer in z-direction a1MVz, the remaining part of ^-acceleration is measured by the accelerometer in x-direction aiMUx). In one example, the measure of the road grade may be an acceleration-based measure of the road grade. The process may comprise determining an acceleration-based measure of the road grade at block 318. In one example, block 318 comprises determining the acceleration-based measure of the road grade flacc by the following formula: Alternatively or additionally, in some examples the process comprises determining a normalised acceleration of the vehicle in the gravitational direction vector, at block 316. Block 316 may comprise determining the normalised acceleration of the vehicle in the gravitational direction vector by the following formula: nnorm _ 9 KI where agOrmx, a^ormyt and a™rm,z respectively denote the components of a™rm in the x, y, and z directions. The process may comprise, at block 318, determining the acceleration-based measure of the road grade Slacc by the following formula: An acceleration-based measure of the road grade may be subject to high-frequency noise. To address this, some examples comprise, at block 320, of the process, filtering the acceleration-based measure of the road grade by a low-pass filter to obtain a low-pass filtered acceleration-based measure of the road grade LPF(flacc). This will exclude high accelerationbased road grade frequency measurements and only allow low acceleration-based road grade frequency measurements. In some examples, the measure of the road grade may be a gyroscope-based measure of the road grade, Slgyro. The process may comprise obtaining, at blocks 324, such a gyroscope-based measure of the road grade. However, in some examples, to obtain the gyroscope-based measure of the road grade, the process may comprise, at block 322, obtaining a measure of the rate of change of the vehicle body pitch angle, which may be termed the “pitch rate,” 6. The pitch rate may be the angular rate along the vehicle body y axis. The pitch rate may be obtained from the IMU of the vehicle. The gyroscope-based measure of the acceleration, block 324, may be obtained in some examples by integrating the pitch rate 0, e.g. flgyro = f 0 . In some examples block 324 may comprise integrating the pitch rate to determine the gyroscope-based measurement of the road grade by using a discrete time integrator to obtain pitch plus road grade estimate: fl gyro + 1) = ^gyroC^ + Ts0 where, as above, in some examples the pitch rate may be obtained from the IMU (e.g. 0 = OimuY ^gyro and flgyro(k + 1) respectively represent the measurement of the road grade obtained from the pitch rate (e.g. the IMU pitch rate) at the kth and (k+1)th epochs, and Ts being the time between the epochs. The above equation represents a discretized integral, with 0 being input into the equation to be solved for flgyro. It should be understood that a non-zero pitch rate may be induced either by the non-zero road slope or by vehicle acceleration, so the integral of pitch rate corresponds to the road slope plus vehicle pitch angle (as will be discussed below). A gyroscope-based measure of the road grade may exhibit drift, or bias (e.g. due to how a sensor, such as an IMU comprising a gyroscope, is behaving). To account for this, some examples comprise, at block 326, of the process, filtering the acceleration-based measure of the road grade by a low-pass filter to obtain a high-pass filtered acceleration-based measure of the road grade HPF(flgryo). This will exclude low gyroscope-based road grade frequency measurements and only allow high gyroscope-based road grade frequency measurements. In some examples, determining the measurement of the road grade at block 308 comprises determining both the acceleration-based measurement of the road grade and the gyroscope-based measurement of the road grade, e.g. as described above, and passing these measurements through a complementary filter, the complementary filter having a low-pass filter and a high-pass filter. The complementary filter may be configured such that HPF = 1 - LPF for each frequency. In this way, LPF(flacc) and HPF(flgryo) sum to 1 for all frequencies. In some examples the measure of the road grade may be calculated as the sum of the low-pass filtered acceleration-based measure of the road grade and the high-pass filtered gyroscope-based measure of the road grade. In other words, in some examples the measure of the road grade may be the quantity fl given by: fl = LPF(flacc) + HPF(flgyro) One or both filters may be a discrete filter. Given the errors that acceleration and gyroscope based measurements may be subject to, as explained above, the use of such a complementary filter will ensure that the resulting measure of the road grade is more accurate and in particular may more accurately describe how the road grade may dynamically change. The output of the processes to obtain an acceleration-based and a gyroscope-based measure of the road grade, and therefore the processes that sum them to obtain a measure of the road grade, is a curve over a period of time in the immediate past, e.g. ending with a current time (the most recent time that the measurements were obtained). It will be appreciated that for future calculations using a road grade, the value of the road grade at the latest time value may be selected. For the avoidance of doubt, the measure of the road grade, determined at blocks 208 and 308 may comprise any of flacc,flgryo> LPF(flacc), HPF(flgryo) , or fl. In some examples the measure of the road grade may be the actual road grade y (to be explained below), depending on the implementation. The process may comprise, at block 330, determining the actual road grade y from the measured road grade. Determining the actual road grade y may comprise subtracting the pitch angle from the measure of the road grade. As stated above, the measure of the road grade may represent the actual road grade plus pitch angle estimate, hence subtracting the pitch angle from the measure of the road grade may result in the actual road grade. For instance, in the example where the determined measure of the road grade is the quantity fl = LPF(flacc) + HPF(flgyro), block 330 may comprise determining the actual road grade y by: y = fl — 0 Of course, it should be appreciated that the pitch angle 0 may be subtracted from any of tlacc’^gryo’ ^PP^accX or HPF(flgryo), all of which may represent the actual road grade plus the pitch angle, but the quantity fl may be used for increased accuracy since it takes advantage of the complementary filter to reduce inaccuracies. In some examples the process comprises obtaining the pitch angle, at block 332. This may be determined, e.g. based on one or more inputs. The pitch angle may be retrieved, e.g. from an internal memory, or received, e.g. from another entity such as a suspension system sensor or other suitable device. In some examples the pitch angle may be determined. As indicated at block 334 the pitch angle may be based on the tire load force and in some examples the process may comprise obtaining the tire load force. In some examples, the pitch angle may be obtained from a vehicle suspension model. This may further improve the estimation accuracy and attenuate the influence of the vehicle pitch motion. A vehicle suspension model may be an open-loop model calculating the vehicle pitch angle and vehicle pitch rate for given inputs. As will be explained later, the suspension model may take as inputs the vehicle longitudinal speed, wheel angular speeds and vehicle mass estimated by a Kalman (or Extended Kalman) Filter algorithm model or any other variant of the Kalman Filters (such as UKF or XDKF), and the road grade as determined by the complementary filter as discussed above or any measure of the road grade as discussed above. For example, block 332 may comprise determining the pitch angle 0 by solving the following equation (which constitute a model of the vehicle suspension): where F* is the wheel load force (e.g. the load force in the z-direction) for the ith wheel, It is distance from the ith wheel to the vehicle center of gravity, and Iy is the vehicle inertia along the y axis. In some examples the wheel load force for each wheel may be retrieved or received. In some examples it may be determined. In some examples the wheel load force for each wheel may be based on a static wheel load force and a dynamic wheel load force for each wheel. In other words, in some examples block 334 comprises determining the wheel load force for each wheel according to the following formula: Pz = Pstat T Pdyn with Flstat being the static part of the loading force for the ith wheel and Fldyn being the dynamic part of the loading force for each wheel. The process may comprise, at blocks 336 and 338 respectively, obtaining the static and dynamic wheel loading forces for each wheel. However in one example, blocks 336 and 338 may comprise determining the static and dynamic wheel loading forces according to the following equations: f If h Fstat = mat , , COSY ~™g , , siny (1) ir 'If Ip i If lr h Fstat = mg cos y + mg sin y (2) ir ' ir “r If Ffdyn = 2K^Alz + 2D^Alz Fdyn = 2K^Alz + 2D^Alz where Ffstat is the static wheel loading force for the front wheel Frstat is the static wheel loading force for the rear wheel, Fd is the dynamic wheel loading force for the front wheel, and Fdyn is the dynamic wheel loading force for the rear wheel, K‘s is the suspension spring stiffness for the ith wheel, Dls is the damping factor for the ith wheel, Al^ is the spring displacement from the equilibrium point in the z-axis of the ith wheel, Mlz is the velocity of the spring displacement m is the vehicle mass, g is the gravitational acceleration, and h is the distance from the vehicle centre of gravity to the road in the z-xis, y is the road grade angle, and Zf is the distance from the vehicle centre of gravity to i-th wheel in the x-axis. The changes in the spring displacement for the front and right wheels may be given by: Alz = If sind + ZfCosd Alz = lrsln 6 + zrcos 6 with the displacement change being given by: Alz = Ifdcos 0 — Zfdsln 6Al^ = lr6cos 0 — zrbsin 0 where zf is the distance from the wheel centre of gravity to i-th wheel in the z-axis. It should be appreciated that any measure of the wheel load force may be used, and the wheel load force may be a static wheel load force only, a dynamic wheel load force only, or a combination (e.g. a sum of) the static and dynamic loading forces, e.g. as determined according to any of the equations above. In some examples the process comprises, at block 340, determining the vehicle mass based on the determined road grade (e.g. the actual road grade or the measured road grade). In some examples, the pitch angle may be determined based on the determined vehicle mass, in other words block 332 may receive the output of block 340 as input. As the actual road grade may be determined based on the pitch angle, in some examples the actual road grade may be therefore determined based on the determined vehicle mass. Hence, in some examples the present disclosure is a closed-loop system for determining the road grade, pitch angle, and vehicle mass. One example of determining the vehicle mass will now be described. Figure 4 shows a flowchart of a process 400 for determining the mass of the vehicle and which may be used in combination with the process 200 or the process 300. At block 440 the process comprises using a Kalman Filter algorithm model to determine the vehicle mass (the mass being one of the outputs of the model. The states of the Kalman Filter algorithm model (which may also be considered as the degrees of freedom of the model) may be the vehicle longitudinal speed, the angular speeds of at least two wheels (e.g. one front and one rear wheel), and a state that is based on the vehicle mass (e.g. a state used for the vehicle mass estimation). In other words, the Kalman filter algorithm model may have four states, or four degrees of freedom. The Kalman Filter algorithm model having at least the actual road grade as an input, indicated at 446, which may be the actual road grade determined according to the processes 200 and 300 described above (or may be any other measure of the road grade determined according to the processes 200 and 300 described above). In some examples the Kalman Filter algorithm model may also have the torque of at least one wheel and the steering wheel angle as inputs, as indicated at blocks 442 and 448, respectively. Additionally or alternatively at least one of the front and / or rear angular velocity, the vehicle longitudinal velocity, and the measurement of longitudinal acceleration obtained from an IMU may be inputs to the model. See Figure 7 (described below) for a full list of possible inputs to the model depending on the implementation. The Kalman Filter algorithm model may have, as outputs, in addition to the vehicle mass, the vehicle longitudinal speed and the angular speeds of the at least two wheels (e.g. at least one front wheel and at last one rear wheel) as indicated at blocks 460 and 462 respectively. The output 458 also comprise an estimation of the vehicle mass, block 463, e.g. an “estimated mass” and for this reason the extended Kalman Filter algorithm process described with reference to Figure 4 may be referred to as a “mass estimator”. As stated above with regard to Figure 3, this output mass estimate may be used to determine the pitch angle, as indicated at block 464 since, as discussed above, the pitch angle may be obtained from a vehicle suspension model having the vehicle mass as input. The vehicle suspension model may be an open-loop model calculating the vehicle pitch angle and vehicle pitch rate for given inputs, one of which may be at least the vehicle mass determined by the Kalman (or Extended Kalman) Filter. But any output of the process 400 may be used. For example, to determine the pitch angle, the suspension model may take as inputs the vehicle longitudinal speed and / or wheel angular speeds and / or the vehicle mass estimated by a Kalman (or Extended Kalman) Filter algorithm model, and the road grade as determined by the complementary filter as discussed above or the measure of the road grade as discussed above with reference to Figures 2 and 3. The wheel speeds and vehicle speeds outputs (as estimated / output by the Kalman Filter process) can be used by suspension model to determine pitch angle as well as discussed above. The Kalman Filter algorithm model may comprise an extended Kalman Filter algorithm model in some examples or any type of non-linear Kalman filter variant to increase the estimation accuracy (e.g. a unscented Kalman filter (UKF)). The Extended Kalman Filter (EKF) algorithm may increase the accuracy of the determination of the vehicle mass, as it can account for non-linear dynamics. Four defrees of freedom in the longitudinal vehicle dynamics model may be utilised, and as stated above these are (e.g. the model may comprise) a wheel dynamics model, a tire model, a wheel slip model and a vehicle body model with the model having the following states: (vehicle longitudinal velocity, front wheel torque, rear wheel torque, vehicle mass). The last state may be the mass or may be a state that is based on the mass. The state based on the mass may be an inverse mass, e.g. 1 / m with m being the vehicle mass. The state may be a scaled mass e.g. sm or s / m. When the inverse mass is used for the state may improves the accuracy of the algorithm. Using a scaling factor, s, may further improve the accuracy of the algorithm. In other words, a Kalman, or Extended Kalman, Filter based on the four degrees of freedom non-linear longitudinal vehicle dynamics single-track model may be utilized to determine the vehicle mass, where the vehicle mass is handled as an additional model state. The inverse of vehicle mass may be use as a system state rather that the vehicle mass itself to facilitate the linearization of the non-linear model. As the vehicle mass may be constant when the vehicle is driving, the derivative of mass related state may be set to zero. Moreover, since the vehicle mass can vary just in some predefined range, the lower and upper bounds on the mass related state may be utilised in the model. To improve numerical robustness, a mass state scaling factor may be introduced. Therefore, in one example of using a Kalman Filter, the state used for the vehicle mass estimation may be given by the following equations: 5 %4 = — m s s ----- <%4 <----- Slower W-upper %4 = 0. with %4 being the mass-related state, s being a scaling factor, and m being the mass mi0Wer and mupper being lower and upper bounds that define a predetermined region for the fourth mass state. The state being proportional to the inverse of the mass rather than the mass directly may lead to more reliable and accurate estimates compared to using the mass directly as the state. The Kalman and Extended Kalman Filter models may be described by the following system of equations, with, as above, the measured wheel torques for front and rear wheels, estimated road grade, and measured steering wheel angle being utilized as model inputs, and measured vehicle longitudinal speed and acceleration, and front and rear wheel angular speeds are utilized as measurement inputs. Specifically, the Kalman Filter model may be described by a longitudinal vehicle body model, a tire-to-road interface model, a wheel dynamics model, and a load force model. The Extended Kalman Filter algorithm, when running, may solve at least one of these equations to obtain the abovementioned quantities. The vehicle body motion is described by: HlVx ' Fx Fu Fgrade FD = + ftVx + f0 Fgrade = mg sin y where Flx corresponds to longitudinal force generated by i-th tire translated to the vehicle fixed coordinate system, FD corresponds to the drag forces (such as aerodynamic drag force, rolling resistance, etc.) and Fgrade corresponds to force generated by road incline. The coefficients fo,fi,f2 are parametrisations of the drag forces acting on the vehicle, g is the gravitational acceleration, y is any measure of the road grade (e.g. any measure discussed above), m corresponds to estimated vehicle mass, and vx is the vehicle longitudinal velocity. The above equations may be solved to obtain the vehicle longitudinal acceleration and may allow the vehicle mass to be obtained. The tire-to-road (“TTR”) interface may be any suitable model. For example, the TTR interface may be a static TTR, a dynamic TTR, or a combination of a dynamic and static TTR. The TTR interface may be linear or bi-linear. An example linear TTR that may be used is defined by: Fx = F^c^ maxQatirJ, |vx|) An example bi-linear TTR that may be used is defined by p _ p rnormj r lx, stat rz,iLA sat ^i,sat ^i)) where the Amin is the lower limit of the slip ratio in the linear tire region (e.g. linear region of the vehicle slip curve), Amax is the upper limit of the slip ratio in the linear tire region, the Aisat is the saturated wheel slip ratio for i-th wheel, Fzl is the load force acting on i-th wheel, c"orm is the tire longitudinal stiffness normalized by the load force, and Flx is the generated longitudinal tire force. A bi-linear model may be more accurate if used as it is able to model the saturation of the wheel force for the maximum slip ratio Amax. The wheel dynamics model is defined as Jwheel^ i D Fx^w where is the wheel angular acceleration of i-th wheel, t, is the wheel shaft torque of i-th wheel, Flx is the i-th wheel longitudinal force generated by tire model, td is the drag effects represented by a single torque term, and rw is the wheel effective radius. The above wheel dynamics model may be solved to obtain the wheel angular acceleration for both front and rear wheels. Finally, the load force model may be defined by the equations labelled (1) and (2) above with reference to the suspension model. The load force model may be utilized for the computation of static load forces acting on both front and rear wheels. Since the vehicle model does not contain any suspension model, the dynamic part of the load force is not modelled but the computed load force may be used by the tire-to-road interface part of the process to compute the longitudinal force generated by the tires. The static load force acting on both wheels is given by the gravitational force, its contribution is computed using the equations (1) and (2) above. Any suitable technique or method may be used to solve the above equations as part of the Kalman Filter algorithm model. For example, a time discretisation model may be used to solve the differential equations. For example, a Runge-Kutta 4th order discretisation method may be used. In some examples, the wheel slip ratio may be inputs to the Kalman filter algorithm model (for example, used to determine the TTR interface), and this may be determined and / or calculated. These may be determined by the following formulas, for the slip ratio A: Mr — vx 2 =_______ max(\vx\,Mr)’ where vx is the wheel center point velocity, m is the wheel rotational speed along the y axis, i.e., the wheel rpm, and r is the wheel radius. The slip ratio may be used in the TTR interface (described above) in some examples implementing the Kalman Filter algorithm model to determine the forces generated by the tire (used to determine the acceleration and the velocity of the vehicle from which the mass may be determined). Hence, the process may comprise obtaining any one or more of vx, a), r, and vy as inputs and using these to determine the slip ratio and / or the slip angle. In one example the process comprises, at 450, determining whether a condition indicating a change in vehicle mass is present, or met. If so, the process comprises, at block 452, increasing at least one value of the covariance matrix of the Kalman Filter algorithm, for instance increasing one or more values of the part of the covariance matrix corresponding to the mass state. The Kalman Filter running over time will converge to the true mass estimate, hence the values of the covariance matrix will decrease. Increasing the values of the covariance matrix in response to a likelihood that the vehicle mass has changed (as indicated by the presence of the conditioning indicating a chance in vehicle mass) means that the next iteration of the Kalman Filter will converge on the new, true, mass in a shorter time since the covariance matrix’s values have been effectively reset. The condition indicating a change in vehicle mass may be at least one of: a determination that at least one door of the vehicle is open or is being opened and the vehicle is not moving, a determination that the trunk or boot of the vehicle is open or is being opened and the vehicle is not moving, a determination that a previously-fastened seatbelt is unfastened and the vehicle is not moving, and a determination that a previously-empty seat is occupied. These conditions may indicate that one or more passengers have entered, or exited, the vehicle and / or that the vehicle load has been increased or decreased. In summary, to improve the algorithm adaptability on mass changes, when a “masschange” condition is met, the process causes the inflation (or enlarging) of part of the covariance matrix (e.g. corresponding to the mass state) since these “mass-change” conditions indicate situations where the probability of mass change is high. Alternatively or additionally, the process comprises, at block 454, determining whether a pause condition is present, or met. If so, the process comprises, at block 456, pausing the Kalman Filter algorithm. The pause condition may be at least one of: a determination that at least one measurement received from the inertial measurement unit is invalid (in this case no usable information may be obtained), a determination that the vehicle speed is below a predetermined threshold, a determination that the sum of all torques acting on all of the vehicle’s wheels is below a predetermined threshold (in this example the sensitivity to changes in vehicle’s mass may be low), a determination that a vehicle acceleration is above a predetermined threshold, a determination that a vehicle acceleration is below a predetermined threshold (the sensitivity to mass changes may be low in this condition), a determination that the vehicle is decelerating (the friction torques may be inaccurate in this condition), and a determination that the vehicle’s steering wheel angle is above a predetermined threshold. The presence of such conditions may indicate that the Kalman Filter may result in an inaccurate determination of one or more outputs, such as the vehicle mass. These conditions may indicate the presence of a one-off event. Hence, blocks 454 and 456, ensure that the vehicle mass determination does not stray from the true estimate in response to such conditions. The pausing mechanism therefore leads to the disabling of the mass estimation which will maintain accuracy in situations where the vehicle model is not accurate enough, which in turn leads to significant improvements in estimation accuracy. When the pausing mechanism is activated, no data steps or time steps of the Extended Kalman Filter algorithm may be executed but when the estimation is paused, there may be still states which are updated such as vehicle speed, or wheel angular speed, to prevent “bumps” in the estimation once it is enabled again. To update those states, the corresponding measurement signals may be utilized. All remaining states may not be updated when the pausing mechanism is activated. Therefore, as part of the process, when the algorithm is paused, the process may still comprise updating a least one state of the Kalman Filter model algorithm (e.g. vehicle speed and / or the angular speed of at least one wheel). Figure 5 shows a schematic flow diagram illustrating an overview of one implementation of the general process described herein. Figure 5 schematically shows that the accelerometer-based measurement of the road grade and gyroscope-based measurement of the road grade may be combined and filtered and then the pitch angle, obtained from a suspension model, may be subtracted to determine the actual road grade, which is input into a Kalman filter model to determine the vehicle mass. Figure 5 should be understood with reference to the figures above. Figure 6 shows a schematic flow diagram illustrating the Figure 5 process in more detail, which should be understood with reference to the figures above, Figures 3 and 4 in particular. Figure 7 shows a schematic flow diagram illustrating the model inside the Kalman filter algorithm described above to determine the vehicle mass, which should be understood with reference to the figures above, Figure 4 in particular. It will be appreciated that the approach set forth in the present disclosure for determining the road grade utilises a large number of parameters that make the determined road grade more accurate and applicable in a wide range of driving scenarios. The determined road grade is further applicable, and accurate, for both stationary and moving vehicles, including when the vehicles is turning or travelling straight, accelerating or decelerating, driving at constant speed etc. “Obtaining” data as used herein may comprise receiving data (e.g. from a sensor), measuring data (e.g. by a sensor), determining or calculating or estimating data (e.g. from data received from a sensor), or retrieving data (e.g. from a memory storing data), depending on the example. The processing circuitry may be implemented according to any suitable hardware and / or software combination sufficient to cause the processes described herein to be executed. For instance the processing circuitry may be implemented on, or on any suitable combination of, a digital signal processor, field programmable gate array, and / or application specific integrated circuit (ASIC). The processing circuitry may be configured to execute instructions, such as processor control code, that, cause a controller to operate according to the processes described herein. Such instructions may be stored on a non-transitory machine-readable medium. Such instructions may be stored in a memory. Such instructions may be stored on any suitable memory medium, e.g. on a volatile or non-volatile medium, programmed memory (e.g. read-only memory such as firmware), or a data carrier. The processing circuitry may comprise such a memory storing the instructions. In other words, a non-transitory machine-readable medium may store instructions that, when executed by processing circuitry, cause the processes herein to be performed. The instructions may comprise code or microcode. The instructions, when executed, may be in any suitable programming language to allow the controller to be dynamically configured and / or reconfigured. The controller and / or processing circuitry may equally comprise, and may be considered synonymous with, and may therefore be referred to as, a processor, microcontroller or microprocessor or electronic control unit or electronic stability program (ESP), or electronic stability control (ESC) system, or lateral dynamics control system, or a cruise control system, or electronic control unit (ECU). The person skilled in the art realizes that the present disclosure by no means is limited to what is explicitly described above. On the contrary, many modifications and variations are possible within the scope of the appended claims. Additionally, variations can be understood and effected by the skilled person in practicing the claimed invention, from a study of the drawings, the disclosure, and the appended claims.
Claims
27 08 251. Processing circuitry for a vehicle, the processing circuitry configured to:obtain a longitudinal velocity of the vehicle;5 obtain a yaw rate for the vehicle;determine a measure of the vehicle’s longitudinal acceleration based on the longitudinal velocity of the vehicle;determine a measure of the vehicle’s lateral acceleration based on the yaw rate;obtain a measure of the vehicle’s acceleration from an inertial measurement unit10 onboard the vehicle; anddetermine a measure of the road grade on which the vehicle is situated or on which the vehicle may travel based on the determined measure of the vehicle’s longitudinal acceleration, the determined measure of the vehicle’s lateral acceleration, and the measure of the vehicle’s acceleration obtained from the internal measurement unit.
152. Processing circuitry of claim 1, wherein the measure of the road grade is the actual road grade plus the vehicle body pitch angle.
3. Processing circuitry of claim 1 or 2, wherein the measure of the road grade is based 20 on an acceleration-based measure of the road grade given by a trigonometric function of a quantity based on at least the acceleration obtained by the vehicle’s inertial measurement unit, the lateral acceleration, and the longitudinal acceleration.
4. Processing circuitry of claim 3, wherein the measure of the road grade is based on 25 an acceleration-based measure of the road grade, wherein the processing circuitry is configured to obtain the acceleration-based measure of the road grade by the following formula:or by the following formula:norm,x a9^anorm,yy +wherein ag denotes the vector of the vehicle’s acceleration due to gravity, axg, ayg, and azg respectively denoting the components of ag in the x, y, and z directions,27 08 25wherein:aa nnorm _ &9 KIanorm,x anorm,y anc| anorm,z reSpectjve|y denote the components of a™™ in the x, y, and z directions5 and wherein ag is given by:ag = alMU ~ ac ~ avwith aIMU being the vector of acceleration as measured by the vehicle’s inertial measurement unit, ac being the lateral acceleration vector, and av being the longitudinal acceleration vector.
105. Processing circuitry of any preceding claim, configured to:obtain a gyroscope-based measure of the road grade flgyro , the determined measure of the road grade being based on the gyroscope-based measure of the road grade ^gyro ■156. Processing circuitry of claim 5, configured to:obtain a vehicle body pitch rate from a gyroscope onboard the vehicle;determine the gyroscope-based measure of the road grade Slgyro by integrating the vehicle body pitch rate received from a gyroscope onboard the vehicle;20 cause the acceleration-based measure of the road grade to be passed through acomplementary filter comprising a high-pass filter and a low-pass filter to obtain a low-pass filtered acceleration-based measure of the road grade, LPF(flaccy andcause the gyroscope-based measure of the road grade to be passed through the complementary filter to obtain a high-pass filtered gyroscope-based measure of the road25 grade, HPF(Qgyro),wherein the measure of the road grade, fl, is given by:n = LPF(nacc) + HPF(ngyro)wherein the complementary filter is configured such thatHPF = 1 - LPF30 for each frequency.
7. Processing circuitry according to any preceding claim, the processing circuitry being configured to:obtain the vehicle body pitch angle for the vehicle; and27 08 25determine an actual road grade for the vehicle by subtracting the vehicle body pitch angle from the determined measure of the road grade.
8. Processing circuitry of any preceding claim, wherein the processing circuitry is5 configured to determine a measure of the vehicle mass by using a Kalman Filter algorithm, the states of the Kalman Filter algorithm being the vehicle longitudinal speed, the angular speeds of at least two wheels, and a state that is based on the vehicle mass, the Kalman Filter algorithm model having at least the actual road grade as an input and having, as outputs, the vehicle longitudinal speed and the angular speeds of the at least two wheels.
109. Processing circuitry of claim 8, wherein the Kalman Filter algorithm model comprises an Extended Kalman Filter algorithm model.
10. Processing circuitry of claim 8 or 9, wherein the processing circuitry is configured to 15 cause the Kalman Filter algorithm model to pause, thereby causing the determination of the vehicle mass to pause, in response to a determination that a pausing condition is met.
11. Processing circuitry of claim 10, wherein the pausing condition is at least one of the following:20 a determination that at least one measurement received from the inertialmeasurement unit is invalid;a determination that the vehicle speed is below a predetermined threshold;a determination that the sum of all torques acting on all of the vehicle’s wheels is below a predetermined threshold;25 a determination that a vehicle acceleration is above a predetermined threshold;a determination that a vehicle acceleration is below a predetermined threshold;a determination that the vehicle is decelerating; anda determination that the vehicle’s steering wheel angle is above a predetermined threshold.3012. Processing circuitry of any of claims 8-11, the processing circuitry configured to increase at least one value of the covariance matrix of the Kalman Filter algorithm model in response to a determination that a condition indicating a change in vehicle mass is met.35 13. Processing circuitry of claim 12, wherein the condition indicating a change in vehiclemass is at least one of the following:a determination that at least one door of the vehicle is open or is being opened and the vehicle is not moving;a determination that the trunk or boot of the vehicle is open or is being opened and the vehicle is not moving;5 a determination that a previously-fastened seatbelt is unfastened and the vehicle isnot moving; anda determination that a previously-empty seat is occupied.
14. Processing circuitry of any of claims 8-13, wherein the processing circuitry is 10 configured to determine at least one of the vehicle body pitch angle and the vehicle road grade based on the determined mass.
15. Processing circuitry of any preceding claim, the processing circuitry being configured to control the operation of the vehicle based on at least one of the determined measure of 15 the road grade, the determined actual road grade, and the determined vehicle mass.27 08 2520s