![]() |
0.3.0
|
This form corresponds to
The continuous linear dynamic system can be expressed as
Process noise is introduced into the and
matrices in the accelerometer and gyroscope bias terms. Therefore the error equations can be extended as follows
The random noise on the accelerometer and gyro measurements can be estimated as a Random Walk in the angle and velocity errors.
In general, the noise can have an arbitrary characteristic. In a Kalman filter, however, it must be normally distributed and is therefore limited to a Wiener Process. The terms in the noise input matrix are not scaled and therefore need to be compensated with a noise scale matrix
depending on the amplitude of the noise process. The amplitude is defined by the standard deviation
. This parameter can be chosen by the user for the accel and gyro measurements:
where
The bias states are also modeled as a random process. In case of random walk, their amplitudes are defined analogously to the above and .
Another option to model the bias states is given by the Gauss-Markov 1. Order process:
This introduces a deterministic part into the equation, namely the correlation coefficient . This parameter defines, how much a current state is correlated with past states. The elements of the
matrix are then
where
Like before, the scaling is done inside the noise scale matrix. Now, the bias noise's amplitude is given by
with a given standard deviation of for the accelerometer's bias noise and
for the gyro's bias noise. The correlation lengths
and
define how much a current state is correlated to values in the past. This process is generally limited to normal distributions. A detailed example of this type of system can be found in Brown & Hwang [10] (example 9.6).
are diagonal matrices where entries are filled with the PSDs from
and
or
.
In Groves [17], process noise is defined without the need of integration. Instead, noise amplitudes are given directly integrated over one time step . Therefore, the PSDs of the accelerometer and gyro noise are:
where
The bias states are modeled by Groves with the noise PSD's:
where
see [17] Groves, ch. 14.2.6, eq. 14.84, p. 592
Although correlation lengths and
are considered, this process is rather a random walk than a Gauss-Markov 1. order process, because of the missing deterministic part in
.
In INSTINCT, Groves' method is not altered from its reference [17] to avoid confusion.
The state transition matrix is defined as
see [17] Groves, ch. 3.2.3, eq. 3.33, p. 97
The exponential matrix cannot be calculated directly and numerical methods are computationally intensive. Therefore the transition matrix can be computed as a power-series expansion
see [17] Groves, ch. 3.2.3, eq. 3.34, p. 98
The process noise covariance matrix is defined as
In Groves [17], this matrix is approximated as (see ch. 3.2.3, eq. 3.43/3.45, p. 99):
This method resembles a Taylor expansion up to 1. order. Since Groves [17] models the IMU measurements and their biases as random walk processes (see section Groves' process noise definition), only the van-Loan-method can be configured to model biases as Gauss-Markov 1. order processes.
The state transition matrix and the system/process noise covariance matrix can be calculated with the van Loan method [48] . In short
The error covariance matrix is initialized as a diagonal matrix with the variance of the initial state as diagonal elements.
where
This form corresponds to
see
See
The measurement noise covariance matrix is a diagonal matrix with the variances of the measurements as diagonal elements.
This variances can be set static or ideally come from the GNSS receiver.
This section describes how the errors are applied to the total state.
The position and velocity errors get applied by simply subtracting them from the previous total state (see [17] Groves, ch. 14.1.1, eq. 14.8, 14.9, p. 564)
The attitude correction can be derived from equation (see [17] Groves, ch. 14.1.1, eq. 14.7, p. 564)
After applying the errors to the total state, the errors have to be reset to zero (closed-loop).
To correct the accelerometer and gyroscope measurements, we need to accumulate the error states. This has to be done, because contrary to the normal state, the expected value of the biases is not zero.
Afterwards this accumulated value can be applied to the measurements by subtracting it
Afterwards the bias in the error state gets reset to zero, as it is accounted for in the accumulated value.
The time derivative of the position is simply a function of the Earth-referenced velocity in Earth frame axes
see
The time derivative of the position error thus is
see
The estimated attitude can be written in terms of true direction cosine matrix
where is the transformation from true reference axes to estimated reference axes and it can be approximated for small angle misalignments as
with being a skew symmetric matrix and
being the attitude errors.
Differentiating this equation yields:
Using the following equations for the transformation
the time derivative of the DCM matrix is
see
where
Similarly, the time time differential of the estimated matrix can be calculated:
Now we make the following substitutions
and neglect error product terms. This leads to
Finally by performing an element by element comparison with
the equation can be expressed in vector form as:
The time derivative of the velocity in Earth frame coordinates is
see
where
The estimated velocity follows the same propagation
Differencing equation and
we get
Now neglecting error product terms ( )
The gravity error can be expressed as (see [17] Groves, ch. 14.2.3, eq. 14.45, p. 583)
where