BIAS AND MISALIGNMENT COMPENSATION FOR 6-DOF IMU USING GNSS/INS DATA
20170234988 · 2017-08-17
Inventors
Cpc classification
G01C21/12
PHYSICS
G01S19/47
PHYSICS
G01C21/183
PHYSICS
International classification
Abstract
A system and method for correcting bias and angle misalignment errors in the angle rate and acceleration outputs from a 6-DOF IMU mounted to a vehicle. The method includes providing velocity and estimation attitude data in an inertial frame from, for example, a GNSS/INS, and determining an ideal acceleration estimation and an ideal rate estimation in a vehicle frame using the velocity and attitude data. The method then determines the IMU bias error and misalignment error using the ideal acceleration and rate estimations and the angle rate and acceleration outputs in an IMU body frame from the IMU.
Claims
1. A method for correcting bias and angle misalignment errors in angle rate and acceleration outputs from a six-degree of freedom (DOF) inertial measurement unit (IMU), said IMU being mounted on a platform, said method comprising: obtaining velocity and estimation attitude data in an inertial frame; determining an acceleration estimation and a rate estimation in a platform frame using the velocity and attitude data; and determining an IMU bias error and a misalignment error using the acceleration and rate estimations and the angle rate and acceleration outputs from the IMU.
2. The method according to claim 1 wherein obtaining velocity and attitude data includes obtaining velocity and attitude data from a global navigation satellite system (GNSS) and/or an inertial navigation system (INS).
3. The method according to claim 1 wherein determining an acceleration estimation and a rate estimation includes transforming velocity, roll angle, pitch angle and yaw angle of the platform in the inertial frame to the platform frame.
4. The method according to claim 3 wherein transforming velocity and roll, pitch and yaw includes using the equations:
{dot over (V)}.sup.v=−Ω.sup.vV.sup.v+R.sub.n.sup.vg.sup.n+f.sup.v
{dot over (R)}.sub.n.sup.v=−Ω.sup.vR.sub.n.sup.v where {dot over (V)}.sup.v is a time derivate of the velocity in the platform frame, g.sup.n=[0,0,−9.80665].sup.t is a vector of gravitation acceleration in the inertial frame, f.sup.v is an acceleration vector in the platform frame, and R.sub.n.sup.v is a transformation matrix from the inertial frame to the platform frame corresponding to angle rotations of roll φ, pitch θ and yaw ψ where:
5. The method according to claim 1 wherein determining an IMU bias error and a misalignment error includes comparing the acceleration estimation and the rate estimation to the angle rate and acceleration outputs from the IMU.
6. The method according to claim 5 wherein comparing the acceleration estimation and the rate estimation includes transforming the acceleration and angular rate estimations from the platform frame to an IMU body frame.
7. The method according to claim 6 wherein determining the IMU bias error and misalignment error includes identifying three misalignment angles using the acceleration estimations at two different sample time.
8. The method according to claim 7 wherein determining the misalignment angles includes varying a longitudinal acceleration of the platform with a constant lateral and vertical acceleration.
9. The method according to claim 7 wherein determining the misalignment angles includes varying the longitudinal and vertical accelerations of the platform with a constant lateral acceleration.
10. The method according to claim 7 wherein determining the IMU bias error and misalignment error includes using equations:
f.sub.bias=f.sup.b−R.sub.v.sup.bf.sup.v,
ω.sub.bias=ω.sup.b−R.sub.v.sup.bω.sup.v.
11. The method according to claim 1 further comprising using the IMU bias error and misalignment error to determine platform velocity in the event that providing velocity and estimation attitude data is unavailable.
12. The method according to claim 1 wherein the platform is a vehicle and the IMU is mounted to a vehicle structure.
13. A method for correcting bias and angle misalignment errors in angle rate and acceleration outputs from a six-degree of freedom (DOF) inertial measurement unit (IMU) mounted on a vehicle, said method comprising: providing velocity and estimation attitude data in an inertial frame from a global navigation satellite system (GNSS) and/or an inertial navigation system (INS); determining an acceleration estimation and a rate estimation in a vehicle frame using the velocity and attitude data that includes transforming velocity, roll angle, pitch angle and yaw angle of the vehicle in the inertial frame to the vehicle frame; and determining an IMU bias error and a misalignment error using the acceleration and rate estimations and the angle rate and acceleration outputs from the IMU that includes comparing the acceleration estimation and the rate estimation to the angle rate and acceleration outputs from the IMU and transforming the acceleration and angular rate estimations from the vehicle frame to an IMU body frame.
14. The method according to claim 13 wherein determining the IMU bias error and misalignment error includes identifying three misalignment angles using the acceleration estimations at two different sample time.
15. The method according to claim 14 wherein determining the misalignment angles includes varying a longitudinal acceleration of the vehicle with a constant lateral and vertical acceleration.
16. The method according to claim 14 wherein determining the misalignment angles includes varying the longitudinal and vertical accelerations of the vehicle with a constant lateral acceleration.
17. The method according to claim 14 wherein determining the IMU bias error and misalignment error includes using equations:
f.sub.bias=f.sup.b−R.sub.v.sup.bf.sup.v,
ω.sub.bias=ω.sup.b−R.sub.v.sup.bω.sup.v, where f.sub.bias is the misalignment error, f.sup.b is acceleration in the body frame, f.sup.v is acceleration in the vehicle frame, ω.sub.bias is the bias error, ω.sup.b is angular rate in the body frame, ω.sup.v is angular rate in the vehicle frame, and R.sub.v.sup.b is a transformational matrix between the vehicle frame and the body frame.
18. The method according to claim 13 further comprising using the IMU bias error and misalignment error to determine vehicle velocity in the event that providing velocity and estimation attitude data is unavailable.
19. A system for correcting bias and angle misalignment errors in angle rate and acceleration outputs from a six-degree of freedom (DOF) inertial measurement unit (IMU), said IMU being mounted on a platform, said system comprising: means for providing velocity and estimation attitude data in an inertial frame; means for determining an acceleration estimation and a rate estimation in a platform frame using the velocity and attitude data; and means for determining an IMU bias error and a misalignment error using the acceleration and rate estimations and the angle rate and acceleration outputs from the IMU.
20. The system according to claim 19 wherein the means for providing velocity and attitude data provides the velocity and attitude data from a global navigation satellite system (GNSS) and/or an inertial navigation system (INS).
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0012]
[0013]
[0014]
DETAILED DESCRIPTION OF THE EMBODIMENTS
[0015] The following discussion of the embodiments of the invention directed to a system and method for identifying IMU bias and misalignment errors in a 6-DOF IMU on a vehicle is merely exemplary in nature, and is in no way intended to limit the invention or its applications or uses. For example, the system and method has particular application for secondary vehicle speed estimation. However, as will be appreciated by those skilled in the art, the system and method may have other applications and for other mobile platforms, such as on trains, machines, tractors, boats, recreation vehicles, etc.
[0016]
[0017] The discussion herein will refer to three coordinate frames including an inertial frame (N-frame), which is a fixed reference frame on the ground with the X-axis directed to the east, the Y-axis directed to the north and the Z-axis directed upward. A vehicle frame 20 (V-frame) is a body-fixed frame located at the center of gravity of the vehicle 10 with the X-axis directed forward, the Y-axis directed to the left and the Z-axis directed upward, as shown in
[0018]
[0019] The discussion below details how the ideal acceleration and angular rate are determined. The following equations define the velocities and angle rates in the vehicle frame 20.
{dot over (V)}.sup.v=−Ω.sup.vV.sup.v+R.sub.n.sup.vg.sup.n+f.sup.v, (1)
{dot over (R)}.sub.n.sup.v=−Ω.sup.vR.sub.n.sup.v, (2)
where {dot over (V)}.sup.v is the time derivate of the vehicle velocity in the vehicle frame 20, g.sup.n=[0,0,−9.80665].sup.t is the vector of gravitation acceleration in the inertial frame, f.sup.v is the acceleration vector in the vehicle frame 20, and R.sub.n.sup.v is a transformation matrix from the inertial frame to the vehicle frame 20 corresponding to the Euler angle rotations of roll φ, pitch θ and yaw ψ, where:
and where Ω.sup.v=[(ω.sup.vx] is the skew-symmetric matrix of the IMU's vehicle angular rates ω.sup.v as:
[0020] Assuming that the vehicle velocity V.sup.v and the roll angle φ, pitch angle θ and yaw angle ψ are known from the GNSS/INS data, by using equation (1) the ideal IMU acceleration vector f.sup.v and the angular rate measurements Ω.sup.v in the vehicle frame 20 can be found as:
Ω.sup.v=−{dot over (R)}.sup.v(R.sub.n.sup.v).sup.T, (5)
f.sup.v={dot over (V)}.sup.v+Ω.sup.vV.sup.v−R.sub.n.sup.vg.sup.n, (6)
where {dot over (V)}.sup.v is obtained using the numerical derivatives of the velocity data and {dot over (R)}.sub.n.sup.v is obtained using equation (3) as:
where {dot over (φ)}, {dot over (θ)} and {dot over (ψ)} are calculated numerically.
[0021] The ideal IMU acceleration vector f.sup.v and the ideal angular rate ω.sup.v from the box 38 are sent to an IMU bias and misalignment estimation box 40 that compares the ideal acceleration vector r and the ideal angular rate Ω.sup.v estimation values to the angle rates cob in the body frame 22 from the gyros in the IMU 16 provided at box 42 and the acceleration values f.sup.b in the body frame 22 from the accelerometers in the IMU 16 provided at box 44 to calculate the bias and misalignment estimation errors. As long as the GNSS/INS date provides accurate information to determine the vehicle velocity and attitude at the box 36, then the bias and misalignment errors for each accelerometer on the X-Y-Z axes of the body frame 22 and the three misalignment angle errors can be accurately obtained at the box 40.
[0022] In order to calculate the bias and misalignment estimation errors, a relationship between the ideal and the actual measurements is obtained. The IMU measurements in equation (5) are ideal measurements in the sense that they do not include any IMU errors. Considering bias and misalignment as two significant errors, the ideal values and the actual IMU measurements are related as:
f.sup.b=R.sub.v.sup.bf.sup.v=f.sub.bias, (8)
ω.sup.b=R.sub.v.sup.bω.sup.v+ω.sub.bias, (9)
where f.sup.b and ω.sup.b are the actual IMU measurements in the body frame 22, f.sub.bias and ω.sub.bias are the bias vectors of the accelerometers and gyros, respectively, and R.sub.v.sup.b is the transformation matrix from the vehicle frame 20 to the body frame 22 corresponding to the IMU misalignment angles as:
where α, β and γ are the misalignment Euler angles about the X, Y and Z axes, respectively.
[0023] Equations (8) and (9) include six equations with nine unknowns to be found. To find a unique solution to the equations, three equations related to the acceleration measurements from a different time instant are necessary.
[0024] In the box 40, the three misalignment angles α, β and γ are first found using the ideal acceleration measurements at two different time instants in the following two cases. The first case varies the longitudinal acceleration with constant lateral and vertical accelerations. In this case, the following conditions hold for the ideal acceleration measurements of the IMU 16 at times t.sub.1 and t.sub.2 as:
f.sub.c.sup.v(t.sub.1)≠f.sub.x.sup.v(t.sub.2), (11)
f.sub.y.sup.v(t.sub.1)=f.sub.y.sup.v(t.sub.2), (12)
f.sub.z.sup.v(t.sub.1)=f.sub.z.sup.v(t.sub.2). (13)
[0025] Assuming that the bias terms remain constant at times t.sub.1 and t.sub.2 and using equations (8)-(13), the difference between the actual IMU measurements at times t.sub.1 and t.sub.2 is found as:
where Δf=f(t.sub.2)−f(t.sub.1), and where the constant lateral and vertical acceleration terms in the vehicle frame 20 as well as the bias terms are canceled out in the subtraction.
[0026] Linearizing equation (14) in the neighborhood of (α,β,γ)=(0,0,0) yields:
which results in:
[0027] If β≠0 or γ≠0, then the misalignment angle α is found by substituting equations (16) and (17) into equation (14) as:
where:
c.sub.1=sin β cos γΔf.sub.x.sup.v, (19)
c.sub.2=sin γf.sub.x.sup.v. (20)
[0028] The second case varies the longitudinal and vertical accelerations with a constant lateral acceleration. In this case, the following conditions are provided.
f.sub.c.sup.v(t.sub.1)≠f.sub.x.sup.v(t.sub.2), (21)
f.sub.y.sup.v(t.sub.1)=f.sub.y.sup.v(t.sub.2), (22)
f.sub.z.sup.v(t.sub.1)≠f.sub.z.sup.v(t.sub.2). (23)
[0029] Assuming that the bias terms remain constant at times t.sub.1 and t.sub.2 and using equations (8), (9), (21), (22) and (23), the difference between the actual IMU measurements at times t.sub.1 and t.sub.2 is found as:
where the constant lateral acceleration terms and the bias terms in the vehicle frame 20 are cancelled out in the subtraction.
[0030] Linearizing equation (24) in the neighborhood of (α,β,γ)=(0,0,0) yields:
[0031] The misalignment angle is found from equation (25) as:
[0032] If an estimation of the misalignment angle γ is available from previous times, then:
[0033] For implementing the misalignment estimation algorithm, the ideal IMU measurements in equations (5) and (6) are buffered in the module 32 for a short period of time (e.g., 1 second). The time t.sub.2 is put equal to the current time, and time t.sub.1 is found by searching the buffered data, which satisfy the conditions in the first case or the second case. Since the misalignment angles are constant, they are updated as the average of the current and previous values at each time instant.
[0034] Once the misalignment angles α, β and γ are calculated, the bias components for the accelerometers and gyros can be obtained using equations (8), (9) and (10) as:
f.sub.bias=f.sup.b−R.sub.v.sup.bf.sup.v, (28)
ω.sub.bias=ω.sup.b−R.sub.v.sup.bω.sup.v. (29)
[0035]
[0036] The nine values identifying the bias and misalignment errors from the box 40 are provided to the module 34 so that if the GNSS/INS data is not available at any particular point in time, then the previous calculated errors can be used to identify the vehicle velocity and attitude in case those values are needed if the vehicle velocity sensors fail. Therefore, if the IMU data is needed to estimate the vehicle velocity as in the '894 application, those values are adjusted for the errors prior to being used for those calculations. The errors from the box 40 are applied to an IMU bias and misalignment compensation box 46 in the module 34 along with IMU angle rates ω.sup.b at box 48 and the IMU acceleration values f.sup.b at box 50 to be corrected as follows.
f.sup.v=(R.sub.v.sup.b).sup.T(f.sup.b−f.sub.bias), (30)
ω.sup.v=(R.sub.v.sup.b).sup.T(ω.sup.b−ω.sub.bias). (31)
[0037] Once the IMU angle rates and acceleration values are corrected at the box 46, those corrected values can be used to determine the vehicle velocity and attitude at box 52 as described, for example, in the '894 application.
[0038] As will be well understood by those skilled in the art, the several and various steps and processes discussed herein to describe the invention may be referring to operations performed by a computer, a processor or other electronic calculating device that manipulate and/or transform data using electrical phenomenon. Those computers and electronic devices may employ various volatile and/or non-volatile memories including non-transitory computer-readable medium with an executable program stored thereon including various code or executable instructions able to be performed by the computer or processor, where the memory and/or computer-readable medium may include all forms and types of memory and other computer-readable media.
[0039] The foregoing discussion discloses and describes merely exemplary embodiments of the present invention. One skilled in the art will readily recognize from such discussion and from the accompanying drawings and claims that various changes, modifications and variations can be made therein without departing from the spirit and scope of the invention as defined in the following claims.