Roll and Bank Estimation Using GPS/INS and Suspension Deflections

This article presents a method that provides an estimate of road bank by decoupling the vehicle roll due to the dynamics and the roll due to the road bank. Suspension deflection measurements were used to provide a measurement of the relative roll between the vehicle body frame and the axle frame or between the sprung mass and the unsprung mass, respectively. A deflection scaling parameter was found via suspension geometry and dynamic analysis. The relative roll measurement was then incorporated into two different kinematic navigation models based on extended Kalman filter (EKF) architectures. Each algorithm was tested and then verified on the Prowler ATV experimental platform at the National Center for Asphalt Technology (NCAT). Experimental data showed that both the cascaded and coupled approach performed well in providing estimates of the current vehicle roll and instantaneous road bank.


Introduction
Vehicle rollover is a topic that has been widely researched by the vehicle community for some time. With the rise in popularity of high center of gravity vehicles, such as sports utility vehicles, rollover has become an important issue for vehicle safety.
In 2009, 2.954 trillion miles were traveled by motorists in the United States. Among those miles, motor vehicle crashes resulted in 30,797 fatalities [1]. Rollover crashes account for only 3% of vehicle crashes. However, they lead to approximately one third of all occupant deaths.
Some vehicle safety features recently introduced by manufacturers into motor vehicle fleets may be contributing to a reduction in rollover crashes and the harm they cause. These features include rollover sensors to trigger inflatable side curtain airbags (SCABs, known as rollover protection) to mitigate occupant injury, electronic stability control (ESC) to reduce loss of yaw control and roll stability control (RSC) to minimize the number of rollover crashes that occur. These safety features are typically installed in light trucks and vans (LTVs) [2].
A review of the empirical evidence shows that ESC has the potential to reduce the number of rollover accidents and several other fatal types of accidents, as shown in [3]. In fact, the National Center for Highway Safety (NTSHA) has issued a final rule in the Federal Register that requires manufacturers to implement ESC systems for passenger cars, multipurpose passenger vehicles, trucks and buses with a gross vehicle weight rating of 4,536 kg (10,000 pounds). According to NHTSA research, preventing single-vehicle loss-of-control crashes is the most effective way to reduce deaths resulting from rollover crashes. The majority of loss-of-control crashes involve the vehicle entering the road shoulder or median, where the bank is often more extreme and the terrain is more unforgiving. NHTSA concludes that requiring ESC will significantly reduce single-vehicle crashes by over 30 percent and reduce vehicle rollovers by over 70 percent [4].

Rollover Algorithms
The rollover issue has led to the development of several metrics and methodologies to predict and prevent vehicle roll over. Although, typically, the motivation for these studies has been passenger vehicle safety, the use of these metrics can also be used to aid in the navigation and control of unmanned ground vehicles (UGV). In order for the UGV to be effective at performing its task, it must remain in a usable and controllable state. Thus, the vehicle must avoid rolling over. Additionally, the appropriate control effort required to keep the vehicle from rolling is dependent on the bank on which the vehicle is operating.
Work has been done to develop metrics and algorithms for rollover indication and prediction. The most basic is the static stability factor (SSF). The SSF is a function of the track width and the vertical height of the center of gravity (CG) of the vehicle. Increasing the CG height or decreasing the track width will cause an increase in rollover propensity [5]. Other metrics, including the lateral load transfer ratio (LLT, LTR) and the roll stability factor (RSF), use the difference in normal forces on the left and right sides of the vehicle to indicate rollover [5,6]. Two-wheel lift off can be determined through the observation of the RSF. A two-wheel lift-off velocity (TWLV) value can then be assigned and used to characterize rollover propensity [5]. To predict a time-to-rollover (TTR), Gáspár et al. [7] used a simple model to calculate a TTR, assuming that the speed and steer angle remain constant. In that work, a neural network is used to make up for the lack of complexity of the simple vehicle model, which needs to run faster than real time.
Rajamani et al. [8] determined that if the roll motion of the sprung mass is caused entirely by the lateral acceleration, ignoring the road and other external inputs, the rollover index can be approximated as a function of lateral acceleration and CG height. Thus, the roll angle estimates and CG height estimates need to be accurate. They then proposed a dynamic observer and a CG height estimator to estimate the real-time roll angle and CG height in order to calculate an accurate rollover index value.
These rollover metrics and algorithms work well with the assumption that the road is flat and level. This assumption will hold for small bank angles. However, in the more extreme cases, where bank angles exceed the threshold of the small angle approximation, rollover characteristics change. In order to improve the accuracy of the roll indicator, it is beneficial to have an understanding of the bank on which the vehicle is traveling. A vehicle operating on a large bank will have an increased tendency to roll compared to a vehicle operating on a flat surface. Peters and Iagnemma [9] developed a stability metric based on the distribution of wheel terrain contact forces. They showed that the metric can successfully predict rollover on surfaces with arbitrary geometries. Ryu and Gerdes investigated the problem of estimating vehicle and road bank [10]. They modeled the road bank as a disturbance and used a disturbance observer to estimate the road bank. Using a two-antenna GPS system, they were able to accurately estimate roll and road bank.

Outline
The outline of this article is as follows: The relationship of roll and bank is discussed in Section 2. The concept of relative roll is explained, and a geometry-based method that uses suspension deflections to acquire a measurement of relative roll is presented. A scaling parameter, η, is shown to be necessary for the use of the relative roll measurement. An overview of the formulation of the extended Kalman filter for navigation comprises most of Section 3. The roll estimate is then combined with the relative roll measurement in a cascaded approach for road bank estimation at the end of Section 3.
In Section 4, the navigation filter is augmented with a road bank state. This coupled EKF approach to the bank estimation is then simulated and shown to provide the advantage of noise filtering on the bank state. The experimental test setup is described in Section 5. The experimental results of both the cascaded and coupled versions of the navigation EKF are discussed in Section 6. Both navigation filter approaches are validated with the experimental data. Finally, Section 7 consolidates the conclusions from preceding sections. Figure 1a represents the roll model of the vehicle. In this model, the sprung mass rotates about the roll center. The road bank is described by the angle φ r that exists between the road surface and the horizontal. The angle φ s describes the suspension roll, or relative roll, that is due to the suspension deflections caused by the dynamics of the vehicle. The sum of the road bank and the relative roll is the total roll indicated by φ v . The center of gravity is denoted by CG, and the gravity vector points downward and is denoted by g. The distance from the ground surface to the roll center is h rc ; the distance from the roll center to the center of gravity is h rg ; and the distance between the two wheels is the track width, denoted as t w .

Relative Roll
The vehicle roll can be estimated using suspension deflections [11]. This measurement of roll can be determined based on the geometry of the suspension and can be estimated using Equation (1), whereφ s is the relative roll of the suspension. It should be noted that the suspension roll is the roll of the body relative to the surface on which it is driving. The deflections ∆L ij are the suspension deflections at the respective corners of the vehicle. The suspension roll for the front axle is the inverse sine of the left deflection minus the right deflection divided by the vehicle track width (t w ), as observed from Figure 1b. The suspension roll for the rear axle can be determined similarly, but the j subscript is denoted by an R for rear axle. The front and rear suspension roll values can be averaged for a suspension roll calculation of the whole vehicle. It should also be noted that this method captures the dynamics of the suspension relative to the sample time of the deflection sensors.

The Eta (η) Parameter for Roll Scaling
Based on the vehicle suspension geometry, Equation (1) will underestimate the true suspension roll by a factor that can be determined experimentally [11]. Thus, Equation (1) must be multiplied by the scale factor η to represent the true suspension roll.
Note that η is a parameter associated with the static geometry of the vehicle's suspension and therefore is vehicle suspension dependent. Initial results suggest that η is a constant value unique to the vehicle and will not vary based on bank angle or other road inputs. This scale factor can be determined by taking the ratio of the unscaled suspension roll to the difference of the true body roll and the bank angle, as shown in Equation (3).
In practice, calculating η is most easily performed on a flat surface with no bank angle. When the bank angle (φ r ) is zero, the suspension roll (φ s ) becomes equal to the total roll (φ v ). Note that the total roll (φ v ) should be a direct measurement or an estimate with suitable accuracy.
To demonstrate the procedure for calculating η, CarSim was used. The software has been accepted by the industry as accurately representing vehicle dynamics. The vehicle used in the simulations was the CarSim "small SUV", which has vehicle parameters typically associated with the small sports utility vehicle (SUV) class of vehicles.   The DLC maneuver is the industry standard for testing dynamic roll properties for various vehicles [12]. The effect of the scaling factor on the suspension roll estimate can be seen in Figure 2. The scaling value η of Equation (3) was calculated at each time step for the duration of the maneuver in Figure 2 and then averaged. The averaged η was then applied to the raw suspension measurement to yield the corrected suspension roll. Although the unscaled suspension roll captures the shape of the vehicle roll, it under-predicts the magnitude. After the scaling is applied, the suspension roll closely matches the total roll, as expected.
The η parameter is a peculiar characteristic of the relative roll equation. The dynamic characteristics of the η parameter were studied by altering the vehicle mass, location of the CG and inertial properties of a simulated vehicle. It is unusual that a constant parameter can correct for the errors from the suspension deflections.

The Effect of Speed on η
Individual double-lane change runs were created in CarSim at increments of 10 km/h from 10 km/h to 250 km/h on a flat surface see Figure 3. Equation (3) was then used to calculate the average η value for each run. For the η calculation, only the peaks of the Euler roll and suspension roll were used. The average η value across all speeds was then calculated to be 1.736 rad /rad. The slower speeds seem to generate lower η values, but the values still remain grouped close to the average.  The average η was then applied to each of the runs for 10-250 km/h. The root mean squared (RMS) error of the bank estimate was then calculated at each speed, as shown in Figure 4. The plot of the RMS error shows a trend of increasing RMS as speed increases, but the RMS remains small relative to the roll angles, which are near eight and nine degrees at the higher speeds.

Eta (η) as the Kinematic Suspension Ratio
In practice, both an accurate measurement of total roll, φ v , and a flat surface may not be available. These issues present a challenge to finding the η factor. However, an alternate method is available, which uses measurements from the suspension links. Known primarily as the kinematic suspension ratio, the method relates the vertical deflection of the suspension spring and damper to the vertical deflection that is experienced at the tire through Equation (4). In [13], the relationship is termed the installation ratio, and elsewhere, it is known as the motion ratio. Note that some suspensions are designed such that the ratio is not constant. This work assumes that the ratio is constant. For information on a significantly varying ratio, refer to [13]. Figure 5 shows the geometry of the vertical deflections of the suspension component and the vertical deflection at the tire. The vertical displacements of the wheel center ∆Z and the suspension component ∆L are related, such that: After assuming small angles, the expression for the vertical deflection of the tire becomes: The η r scaling factor is thus the ratio of the upper A-arm length, (a + b), to the length from the upper A-arm link and the vehicle frame joint to the point where the suspension component attaches to the upper A-arm link joint, a, as seen in Equation (8). Figure 5. Suspension diagram.
The scale factor η r should be applied directly to the suspension deflections prior to the relative roll calculations, as shown in Equation (9). However, suspension roll on vehicles does not exceed the small angle approximation. Thus, the scaling method from Section 2.2 and the kinematic suspension ratio method are roughly equivalent for small angles. As such, η r is equivalent to η from Equation (2) and Equation (3).
Therefore, the scaling method in Section 2.2 was used for the CarSim simulations in which no physical measurements of the suspension links exist to be measured. The kinematic suspension ratio method was used to find η for the experimental data with the Prowler ATV, because the suspension could be directly measured and a sufficiently flat surface could not be found.

Eta (η) and Road Disturbances
Using the suspension deflections as the sole estimation of roll becomes problematic when there are additional inputs into the suspension, such as bumps, or if the vehicle is traveling on a banked road. For a banked road, a method of measuring or estimating the total roll of the vehicle must be used to decouple the roll due to bank and the roll due to dynamics.
Thus, if the road surface is a assumed to be flat, a low fidelity roll model can be used in conjunction with suspension deflection measurements to calculate the roll of a vehicle. The roll scaling parameter eta (η) is needed to account for the effects of the suspension geometry on the deflection measurements. It is possible to calculate the parameter η experimentally if a perfectly flat surface is available. For banked road surfaces, the roll calculated from suspension deflections will be corrupted due to the bank disturbance input to the suspension. A method for measuring or estimating the total roll is needed to decouple the roll from the bank and the roll due to dynamics of the vehicle.
In lieu of using an attitude measurement from a multi-antenna GPS system, the vehicle roll can be estimated using a navigation filter. This method provides an estimate of the attitude of the vehicle body in an absolute sense based on the kinematic relationships between positions and velocities measured from a single antenna GPS and the accelerations and roll rates measured from an inertial measurement unit (IMU). The navigation filter is used for sensor fusion of the GPS and IMU for the purpose of obtaining an estimate/observation of total roll φ v , which is not measured.

Road Bank Estimation Using Suspension Deflections and a Cascaded Navigation EKF
The EKFs used in this work utilize the methods from [14] with supplemental references to [15]. The navigation filters are error state filters, which means that the error states are added to the actual states during each measurement update. The filter described below is used to blend Global Navigation Satellite System (GNSS) solutions with inertial navigation system (INS) solutions. Specifically, the filter is constructed with a six degrees of freedom inertial measurement unit (IMU) time update and a Global Positioning System (GPS) measurement update.

Coordinate Frames
Inertial navigation algorithms use a few coordinate frames. The Earth-centered inertia (ECI), used in navigation applications, is an inertial reference frame that does not accelerate or rotate with respect to the rest of the Universe [15]. The ECI frame is denoted by the symbol i as a superscript or a subscript. The axes of the IMU form the body fixed frame. The assumption is made that the x-, yand z-axes align with the front, right and down axes of the vehicle [14]. The body frame is denoted by the symbol b. The Earth frame or Earth-centered Earth-fixed (ECEF) frame is similar to the ECI frame. However, the ECEF frame remains fixed to the Earth, and thus, spins as the Earth spins. The ECEF frame is denoted with the symbol e. The local navigation frame is a geodetic or geographic frame and is denoted with the symbol n. The origin of the body frame is termed the "point of interest", which is typically the center of mass of the vehicle. The z-axis is referred to as the down axis and is normal to the surface of the reference ellipsoid and points towards the center of the Earth. The x-axis is the axis that points north in the plane orthogonal to the z-axis and is also called the north axis. The y-axis or east axis always points east [15].

Inertial Navigation
The velocities and angular rate measurements of an IMU can be used for stand-alone navigation for short durations of time. In brief, integration of the angular rates yields attitude updates; the first integration of the accelerations produces velocities; and positions are acquired from the integration of these velocities or the second integration of the accelerations. The integrated noise and bias degrades the solution with each subsequent integration. However, an integrated navigation system can provide corrections to the IMU outputs and the inertial navigation solutions from estimates of IMU bias, which can be determined with the GNSS/INS integration algorithm [14].

Mechanization Equations
The equations of motion expressed in the north-east-down (NED) local navigation frame are: Note that ω c ba denotes the rotation rate of frame b relative to frame a parameterized in frame c; thus, ω n ib is the rotation rate of the inertial frame (the ECI frame) relative to the body frame (the vehicle/IMU frame) parametrized in the local navigation frame. The vector p is the position of interest, which is the user, expressed in the geodetic coordinates of latitude (L), longitude (λ) and altitude (h).
Local gravity is represented by the vector g. The matrix T is the transformation matrix that converts the linear velocities of the NED frame to angular changes in latitude and longitude of the local navigation frame.
The values of R N and R E are the radii of curvature of the reference ellipsoid for north/south (meridian) and the east/west (prime vertical), respectively [15].
The matrix C n b is the rotation matrix. It is of the form C b a , such that the matrix rotates from frame a to frame b. Thus, C n b completes the angular rotation from the body frame to the local navigation frame. The notation [(ω c ba )ˆ], used in [14], is the skew symmetric matrix of the vector ω c ba = φ c baθ c baψ c ba T and is defined as: In this work, attitude is parametrized using Euler angles. Specifically, the aerospace sequence of yaw, pitch and roll (ψ, θ and φ) is used. Accordingly, the attitude vector is:

Update Equations
Assuming the initial position is known, three steps are needed to implement and solve the mechanization equations. The steps include an attitude update, a velocity update and a position update. The attitude update uses the gyro measurements from the IMU. These gyro measurements form an angular velocity vector of the body frame relative to an inertial frame of reference, ω b ib . For attitude determination, the attitude of the body frame relative to the navigation frame and expressed in the body frame, ω b nb , is needed. To obtain ω b nb , the rotation rate of the navigation frame relative to the inertial frame expressed in the body frame, ω b in , is subtracted from ω b ib , the angular rate of the body frame relative to the inertial frame.
Note that ω b in is essentially the rotation of the Earth. When using low-cost gyros, the rotation rates from Earth are often less than the noise sensitivity of the gyros, such that the following approximation can be made.
The Euler rates are then computed from the angular velocity vector as: where: For consumer-grade and automotive gyros, Euler integration of Equation (18) is sufficient to generate an estimate of attitude.
In Equation (20), t k is an instance in time at step k, and τ is the change in time, such that τ = t k+1 −t k .
The attitude estimate ψ nb (t k ) = φ nb θ nb ψ nb T k is used for the rotation matrix C n b that rotates vectors from the body frame to the navigation frame in the proceeding velocity and position updates. The C n b transformation matrix is populated as: The acceleration of the vehicle in the navigation frame is a function of the specific force measurement vector from the IMU, , the angular rate of the Earth, ω n ie , the transport rate, ω n en , and the gravity vector, g n , and is given by: For low-cost IMUs, the measurement errors overpower the Coriolis effect, such that the acceleration can be simplified to:v Applying Euler integration to Equation (22) yields: The position update requires applying Euler integration to Equation (10), which yields: It is important to remember that the precision of latitude and longitude at the level of meters represented in the local navigation frame will require seven or more significant digits (1 m ≈ 1.6e −7 rad).

Error Equations
The manner in which errors propagate through an INS is useful for navigation, because the mechanization equations, Equations (10)- (12), represent the ideal case. Perturbation analysis of the mechanization equations yields the first-order Taylor series expansion of the mechanization equations: Error is represented by δ, and the matrix T is the time derivative that relates positional errors into corresponding velocities. In practice, the negative skew of the transport rate, − [(ω n en )ˆ], can be used as T . The error in gravity is often approximated as a function of the magnitude of gravity at the user's latitude and the error in altitude.
Note that δψ n nb , the attitude errors, are the errors resolved about the NED frame, not errors in the Euler angles themselves. Therefore, note that ω n in is equal to the sum of the Earth rate and transport rate.
The variables δω b ib and δf b are the errors from the accelerometer and rate gyro output errors. These errors ultimately determine the performance of inertial navigation. Simple models of the accelerometer and gyro are: The subscripts a and g denote terms from the accelerometer and gyro, respectively. The subscript t represents the true value that is being measured, and the superscript b means that the term is expressed in the body frame. The matrices M a and M g account for the effects of scale factors and any non-orthogonality errors. The b term is the bias vector, and the w term is the uncorrelated output noise vector. The bias vector and the uncorrelated noise form the error model for the accelerometer and gyro, δf b and δω b ib , used in Equations (28)-(30).
These errors limit the performance of inertial navigation. Because they are integrated twice, accelerometer errors cause position errors to grow as a function of the time squared. Position errors from angular velocity will grow as a function of the time cubed. Including accurate position and velocity updates will help to mitigate the error growth problem [14].

Integration of Inertial Navigation and GPS
In this work, an automotive-grade INS is used. Therefore, the loosely-coupled filter with feedback is utilized. Loose GPS/INS integration occurs at the PVT (position, velocity and time) level. This means that the PVT measurements from the GPS are blended with the PVA (position, velocity and attitude) estimates of the INS. In the closed loop configuration, the inertial sensor errors estimated by the filter are fed back to the INS equations to compensate for the accelerometer and gyro errors. The most common fusing filter used for loosely-coupled GPS/INS is the extended Kalman filter (EKF) [14] and is the filter of choice for this work. Refer to [16,17] for further specific details on the Kalman filter.

Navigation Error State EKF with Closed Loop Feedback
The system model for navigation states consists of the mechanization equations, Equations (10)- (12), which are nonlinear, and the models for the IMU biases. The linearized error state formulation of the mechanization equations was discussed as an item of interest of the standalone inertial navigation algorithm and formed Equations (28)-(30). While the INS states are error states, the remaining states are the full bias states of the accelerometer and gyro from the IMU. Accordingly for the cascaded navigation EKF, the error state vector is defined as: Remember that the position vector p is a vector of latitude, longitude and altitude, v n is a velocity vector of north, east and down velocities and ψ nb is an attitude vector of roll, pitch and yaw. Note that the position states are not necessarily required to estimate the attitude, but are included in the formulation, because the typical user is also interested in the position information. The two bias vectors are included to account for the biases present in the IMU, where b b a is comprised of the three bias states corresponding to the accelerometer biases, and similarly, b b g is comprised of the gyro biases.
The IMU model consists of random noise and a bias added to the accelerations and angular velocities. The biases are modeled as a random walk. Specifically, the bias models for a low-cost inertial IMU are: Note that the biases are a function of time, with some components that are modeled as stochastic processes. Both the accelerometer biases and the gyro biases are the sum of three random processes. The terms b b as and b b gs represent the constant null shifts of the accelerometer and gyro. They are essentially static biases that are modeled as random constants. The terms b b ad and b b gd are the dynamic "in-run" biases. These two time-varying components are modeled as an exponentially correlated random process, i.e., a first order Gauss-Markov process specifically with a standard deviation σ ad for the accelerometer and σ gd for the gyro. The Gauss-Markov processes for the accelerometer and gyro bias models are: The linearized system matrix F is the Jacobian of the system model equations, which are Equations (28)-(30) and (40)-(41). The Jacobian of the system model equations yields the system model matrix F: where 0 3 is a three by three null matrix, I 3 is a three by three identity matrix and: For small propagation times, the F matrix can be simplified to: The corresponding process noise, w s , of the system is: The process noise is used to define the process covariance matrix, Q. Taking the expectation of the process noise defines the diagonal terms of Q as power spectral densities. The expectations, E w a w T a and E w g w T g , are the accelerometer and gyro noise power spectral densities or standard deviations. According to [15], the process noise of the bias states, µ a and µ g are 2σ 2 ad/τa and 2σ 2 gd/τg , respectively.
The terms τ a and τ g are the time constants for the Markov process error model for acceleration and gyro errors, respectively. The discrete process noise matrix, Q k , is calculated from the continuous process noise matrix, Q, using the time interval τ s = t k+1 − t k .
Neglecting any lever arm effects (i.e., the kinematic displacement between the center of gravity and the sensor location), the measurement matrix H is: For the closed-loop error state navigation EKF, all of the states, except the attitude states of the state vector, x, need to be fed back following the measurement update prior to the mechanization phase. For example, the update to the position state is given in Equation (48): where the superscripts + and − represent before and after the error state corrections are applied and δp k+1 represents the position error state estimate from the measurement update. The attitude errors, δψ n nb , are corrections to the rotation matrix,Ĉ n b , and therefore cannot simply be added to the previous Euler angle estimates. The attitude states are updated by executing the following equations: The Euler angles are then extracted fromĈ n+ b by: where c ij represents the element in the i-th row and j-th column of the rotation matrix C n+ b . Once the update is complete, the Kalman filter state vector,x + k+1 , is reset to zero and P + k+1 is used to initiate another time update cycle [14].

NAV EKF Cascaded with Relative Roll
The difference between the total roll (φ v ) and the relative roll (φ s ) of the suspension deflections is the road bank.
Since the suspension roll can be determined from Equation (2), we can subtract it from the total body roll estimated by the EKF to yield an estimate of road bank: Assuming the tires remain in contact with the ground, the dynamics of the vehicle body can be correctly removed via the measurement relationship in Equation (54). Note that errors in the estimate of road bank will be related to the accuracy of the total roll estimate, φ v , and how well the suspension scaling parameter, η, scales the relative roll measurement, φ s .

Road Bank Estimation Using Suspension Deflections and a Coupled Navigation EKF
The goal of the coupled approach is to see if any useful relationship between the relative roll angle given from the suspension deflections and the total roll state of the navigation filter could be exploited. Since the deflections are measured from potentiometers that operate at 100 Hz or better, it seemed logical to have the suspension deflections implemented inside the INS navigation portion of the EKF filter, the time propagation phase.
The coupled or augmented approach uses the same principle equations and structure as the cascaded method described in Section 3.6.1. However, there are some details that are important to know for the coupled approach. First, the error state vector is augmented with the road bank as the 16th state.
The system model, the F matrix, must be adjusted, as well. Ideally, there would exist an equation that propagates the road bank rate as a function of the states in the state vector. No such function exists, so the road bank rate is modeled as a disturbance with the time constant τ s .
The new model matrix is: where 0 3 is a three by three null matrix, 0 3×1 is a three by one null matrix, 0 1×3 is a one by three null matrix, I 3 is a three by three identity matrix and: For small propagation times, the F matrix can be simplified to: The measurement matrix for the GPS measurement is: The suspension deflection measurement is incorporated through a second measurement update. Like the GPS update, the second measurement update will occur whenever a new deflection measurement exists. The measurement matrix for the second update is: In practice, coupling the navigation filter with the road bank state did not provide any noticeable benefits to the estimation of the other states in the filter. However, the experimental results show that adding the road bank as a state to the navigation EKF provided some filtering of noise on the road bank state estimate.

Experimental Setup
The Prowler ATV, a light, tactical, all-terrain vehicle for the military designed by ATV Corporation, was used to test the road bank algorithms. The Prowler has been automated and is outfitted with various sensors. To test the road bank algorithm, the following sensors were used: single-antenna GPS receiver, six degrees of freedom IMU and four linear potentiometers to measure suspension deflections. In addition, a three-antenna GPS attitude system was utilized to obtain accurate attitude truth measurements for comparison with the EKF attitude estimates.
The area selected for testing of the vehicle occurred at the National Center for Asphalt Technology (NCAT) track. The facility has a closed 1.7-mile oval track and a skid pad area, which allows for safe testing of autonomous vehicle operation with sufficient GPS accessibility for various testing scenarios.

Sensor Mounting
The Prowler vehicle has a range of sensors to provide information about the vehicle states. The six DOF Crossbow 440 IMU provides accelerations and gyroscopic rates about all three vehicle axes. As seen in Figure 6, the Crossbow is mounted directly behind the driver seat and is centered with respect to the lateral axis. Various GPS sensors have been implemented on the vehicle, including a Novatel system with integrated real-time-kinematic (RTK) corrections and a Septentrio system, which provides GPS-based roll, pitch and yaw measurements. The Novatel antenna is located on top of the Prowler roll cage and is laterally and longitudinally aligned with the CrossBow IMU. Celesco potentiometers mounted on the suspension components produce measurements of suspension deflections. Brackets were created that position the potentiometer, such that it is collinear with the shock and spring assembly, as seen in Figure 6. A Celesco string potentiometer is mounted on the steering rack and measures the turns of the steering column. The string potentiometer provides a measurement of the steering angle at the wheels with the assumption that steer angles at the left and right wheels are equal. The black case mounted on the front of the Prowler holds almost all of the sensor electronics, as shown in Figure 7a. The Septentrio and Novatel receivers are stacked on top of one another and connect via a serial port to the Advantech fan-less computer, the silver brick furthest from the viewer in Figure 7a. The Crossbow IMU communicates via a serial connection, as well. The steering potentiometer and suspension potentiometers are both read by an A/D converter on a Microchip PIC and custom board. Each board is housed in an aluminum enclosure shown in the center of Figure 7a. The PIC sends the converted reading to the CAN Bus, which is read via a CAN toUSB adapter by the Advantech computer.
The Advantech computer runs Ubuntu, which is a Linux operating system. The MOOS (Mission Oriented Operating Suite) architecture is the C++ platform used to log the data. Sensor interfaces that inherit from a base sensor class were written to read and log each sensor.

Test Procedures
For maneuvers on flat terrain, the NCAT skid pad and the straights on the the NCAT oval track were used. Note that the flat surface of the skidpad appears to have roughly a two-degree slope, with the high portion in the northwest corner and the low portion in the southeast corner. The straights of the NCAT oval track have a 1-2 degree crown, with the peak running between the two lanes.
Maneuvers involving the bank were performed on turns of the NCAT oval track. Both turning sections transition from the 1-2-degree crown of the straights to roughly eight degrees of the bank and then back to 1-2 degrees of the crown. Figure 7b via a chase vehicle shows the Prowler driving through the turn on the west end of the track.
Specific maneuvers of interest were the lane changes, sinusoidal steer inputs, constant radius steady-state turns and straight driving at various speeds. Lane changes were performed on the straights and the banked turns of the NCAT oval track, but they were not executed with any measured spacings or lengths. The runs involving sinusoidal steer inputs were intended to provide insight into the effects on bank estimation with respect to the high-and low-frequency steering inputs.

Results and Discussion
From Equation (8) and suspension component measurements, η was found to be 2.3. The eight-degree banked turns on the NCAT oval track were used to verify the η scale factor for the suspension deflection measurements.
The standard deviation values used for the process covariance matrix Q are listed in Table 1. Note that the variance for states with process noise modeled via the Markov process error model are functions of the standard deviation and the corresponding time constant or 2σ 2 /τ. The time constants for the IMU bias in Table 2 are based on the findings in [18]. The standard deviation values for the measurement covariance matrix R and scalar R 2 , to be used with the second measurement update H 2 in the coupled EKF, are presented in Table 3. Finally, the initial variance values for the covariance matrix P are found in Table 4.

degrees
The initial state vector values were assumed to be known. Position and velocities states were initialized with values from the Novatel GPS receiver. Euler angle states were initialized with values from the Septentrio receiver. Acceleration and angular rates from the CrossBow IMU were each averaged from static data taken at the begging of the dataset. These averaged values were then used to initialize the bias states of the state vector. High dynamic maneuvers at the beginning of the run served to provide sufficient excitation, so that the bias could be estimated.
No difference in time to convergence of the error covariances was observed between the cascaded and coupled approach. Note, that if the initial states, especially the gyro bias and accelerometer bias states, are significantly different from truth, then the attitude estimate states will be less accurate until the error covariances converge and the biases are estimated. In this work, the initial position velocity and attitude states are known, and the bias states are initialized from averaged static IMU measurements. For a deeper look into the convergence of the bias states and the importance of excitation for attitude estimates, refer to [19]. In [19], the observability of a similar EKF is explored, and experimental results using similar sensors are provided.

Navigation EKF Cascaded
Recall that a three-antenna Septentrio unit was mounted on the Prowler to provide truth measurements of the roll, pitch and yaw of the vehicle. To demonstrate that the navigation EKF filter is estimating the states correctly, the attitude measurements from the Septentrio are compared with the attitude estimates of the 15-state navigation EKF. Figure 9 represents the roll and pitch comparison, while Figure 10 represents the comparison of yaw. The data in both figures are from a single lap around the NCAT oval track. The banked turns are marked by the sections where the roll angle is roughly eight degrees. The sinusoids are purposefully induced to excite the vehicle states for the estimation of biases. Note for the data shown in Figures 9 and 10 that the bias states have been previously estimated and were used as the initial biases for this dataset. Accordingly, the covariance matrix was set to small initial values, indicating that the biases were known.
Observe in Figure 9 that the pitch estimate is roughly one degree different from the Septentrio measurement. The difference in the pitch data from the Septentrio is due to slight misalignment of the Septentrio antenna frame and the IMU frame. The IMU mounting location behind the seat of the Prowler is not completely coplanar in the direction of pitch with the vehicle body. The mounting surface pitches downward roughly one to two degrees. Additionally, observe in Figure 9 that the Septentrio has difficulties maintaining both a "no fix solution" and a "fixed solution" for attitude during the high-frequency vehicle body roll that begins prior to 520 s. Figure 10 represents the yaw estimate and gives further confidence that the EKF filter is estimating properly. The estimates of yaw match quite well with the measurements from the Septentrio. The estimate of bank is shown in Figure 11. For reference, the estimate of total roll, the Euler roll and the measured roll from the suspension deflections are displayed. The figure shows a section of straight driving followed by sinusoidal motion. Then, straight driving is resumed during the banked turn, after which sinusoidal motion is resumed. While in the straight section, the one to two degrees of road crown are observed in the estimate of the bank from time 460 s to 465 s. During the sinusoids, the bank estimate remains within reasonable bounds. Note that due to the orientation of the vehicle as it oscillates from left to right, the bank estimate is a combination of the crown and vehicle orientation. The vehicle oscillates in the right side lane from 460-475 s. This is evident from the average bank estimate of two degrees. Similarly, from 475 s till the bank begins at 485 s, the vehicle oscillates about the center of the crown and displays an average bank estimate of zero degrees. Recall that the NCAT oval track has banks of eight degrees through the turns. The estimate of bank during the steady-state turn occurring over the period of 492-506 s is eight degrees. Note that roll measured by suspension deflections is not zero during the steady-state turn on the banked surface.  Figure 11. Bank estimate on the NCAT oval track 15-state cascaded EKF.

Navigation EKF Couple
The measurements and estimates of roll, pitch and yaw are again presented to validate that the 16-state coupled Navigation EKF is functioning as expected. The estimates of roll pitch and yaw in Figures   The root mean square values of the difference between attitude measurements from the Septentrio and attitude estimates from both filters are provided in Tables 5 and 6, respectively. Note, there maybe some minor alignment discrepancies between the coordinate frame of the filter sensors and the Septentrio frame due to mounting of sensor equipment. Thus, some deviation from the reference Septentrio measurements is to be expected. Nonetheless, the RMS error of the attitude from both filter methods confirms that the attitude is being estimated properly.  Figure 14 represents a section from the NCAT oval track. The same time interval of 460 s to 520 s is used to compare the result with Figure 11. The estimate of the bank for the navigation EKF coupled with the bank state looks very similar to the cascaded bank estimate approach with standard navigation EKF. However, as mentioned previously, the coupled EKF filters the noise from the bank estimate. The noise filtering is the primary advantage of the coupled approach. For this reason, the remaining experimental result analysis is presented with the coupled 16-state navigation filter.

Additional Validation of the Coupled Navigation EKF
A circle with a radius of 10 ft was marked on the skid pad area at NCAT. Laps were driven around the circle. The velocity was increased about every two laps, until the tires exceeded peak force generation and were unable to provide enough lateral force to hold the turn for the ATV. The idea is to demonstrate the steady-state cornering capabilities of a vehicle in both the linear and the nonlinear section of the tire curve. As the speed increases more, the steer angle is required to hold the turn. In the nonlinear portion of the tire curve, the required steer angle is no longer linearly proportional to the step increase in velocity. Figure 15 shows Novatel measurements of position, as well as the horizontal velocity profile for the duration of the 10-ft circle run. Figure 16 shows the bank and total roll estimates and the relative roll measurement from the suspension potentiometers. The peaks of the bank are represented by triangles. In this run, the Prowler is turning right, which means the lateral acceleration pushes the vehicle body towards the outside of the circle, and the roll due to dynamics φ s is always negative. At 121.4 s, the vehicle was pointed roughly east and experienced positive 1.25 degrees of bank. At 124.6 s, when the vehicle was pointed roughly west, the vehicle experienced −1.5 degrees of bank. Thus, this area of the skidpad appears to have roughly a bank of one to two degrees. Static measurements observed while testing confirm that the skidpad area does tend to slope about 1-2 degrees in the direction running from the southeast to the northwest.
The prowler suspension is nonlinear in that at extreme turn angles, the outer wheel turns in more than the inner wheel, as seen in Figure 17. Also present in Figure 17 is tire deformation in the outer front tire. These properties could effect the bank angle estimate. However, Figure 16 shows almost no noticeable growth in peak bank estimates as the vehicle increases speed towards the conditions where asymmetrical steering and tire relaxation are prevalent.  Revisiting the NCAT oval track run, the coupled EKF bank estimate was tested under highly dynamic steering input excitations. Figure 18 shows the position and velocity for a banked turn on the NCAT oval track. On this particular turn, the roll axis is excited through sinusoidal steering inputs. The sinusoids start during the transition from the crowned straight to the banked left turn and end just before the transition back to the crowned straight. The bank estimate through the turn shown in Figure 19 closely resembles the bank estimate in Figure 14. Notice that the bank estimate for the increasing bank angle is unaffected by the vehicle body roll excitation.   Figure 19. Coupled EKF on the NCAT oval track roll excitation bank estimate.
In Figure 19, the vehicle returns to the straight section of track around 710 s. At 713.5 s, the vehicle is centered over the road crown straddling the two lanes, and the bank is roughly zero. The vehicle then performs a lane change maneuver to the outer edge of the track, and at 716.9 s, the estimate of the crown for this section of straight is observed to be about two degrees, which corresponds to the 1-2 degrees of crown purposefully designed into the track construction.

Conclusions
This work presents a method that provides an estimate of road bank by decoupling the vehicle roll due to dynamics and roll due to the road bank. Suspension deflection measurements were used to provide a measurement of the relative roll between the vehicle body frame and the axle frame or between the sprung mass and the unsprung mass, respectively. A method of scaling the suspension deflection measurements to vertical wheel motion was explored. A deflection scaling parameter was found by both a dynamics-based method and a suspension geometry-based method. The parameter was determined to effectively scale the suspension deflection measurements with minimum error variances over varying vehicle speeds. The relative roll measurement was then incorporated into two different estimation architectures. Two kinematic navigation model-based extended Kalman filters (EKF) were developed. The first EKF used a cascaded approach to incorporate the relative roll measurement. The second EKF, a coupled approach, augmented the state vector with a state for the road bank. The road bank rate was modeled as a time-varying disturbance, and a measurement update for the relative roll measurement was developed. The estimators were tested on the Prowler ATV experimental platform at the National Center for Asphalt Technology (NCAT). Both the cascaded and coupled approach performed well for both simulation and experimental data. The EKFs correctly estimated the road crown and banked turns of the NCAT oval track. The coupled EKF displayed the added benefit of filtering the noise on the bank estimate. Both of the kinematic-based approaches performed well across all ranges of dynamics and road bank disturbances. However, the coupled approach filtered the noise on the bank estimate, which was determined to be advantageous. Furthermore, it should be noted that the methodology presented can be modified and applied to vehicle pitch and road grade estimation.