|
| Constant Property | n = 13 |
| |
| Constant Property | m = 13 |
| |
| Property | dt |
| | sampling time (default 1/200 s)
|
| |
| Property | zv |
| | zero velocity flag (1 x N)
|
| |
|
attributes regarding the measurement vector
|
| Property | N |
| | number of observations
|
| |
| Property | z_acc |
| | accelerometer measurements (3 x N) [m/s^2]
|
| |
| Property | z_vel |
| | velocity measurements (3 x N)
|
| |
| Property | z_gyr |
| | gyroscope measurements (3 x N) [rad/s]
|
| |
| Property | z_pos |
| | position pseudo measurements (3 x N) [m]
|
| |
| Property | z_yaw |
| | yaw pseudo measurements (1 x N) [rad]
|
| |
| Property | z |
| | measurement vector (m x N)
|
| |
|
attributes regarding the estimated state vectors
|
| Property | x_fm |
| | state vector, forward, a priori (n x N)
|
| |
| Property | x_fp |
| | state vector, forward, a posteriori (n x N)
|
| |
| Property | x_bp |
| | state vector, backward, a posteriori (n x N)
|
| |
|
attributes regarding the initial state vector
|
| Property | q_0 |
| | initial irientation quaternion
|
| |
| Property | v_0 |
| | initial velocity
|
| |
| Property | p_0 |
| | initial position
|
| |
| Property | b_w_0 |
| | initial gyroscope bias
|
| |
| Property | x_0 |
| | initial state vector (n x 1)
|
| |
|
attributes regarding the state covariance matrix
|
| Property | P_fm |
| | state covariance matrix, forward, a priori (n x n x N)
|
| |
| Property | P_fp |
| | state covariance matrix, forward, a posteriori (n x n x N)
|
| |
| Property | P_bp |
| | state covariance matrix, backward, a posteriori (n x n x N)
|
| |
|
attributes regarding the initial state covariance matrix
|
| Property | P_0_q |
| | initial orientation standard deviation (default 5e-4)
|
| |
| Property | P_0_v |
| | initial velocity standard deviation (default 1e-7 m/s)
|
| |
| Property | P_0_p |
| | initial position standard deviation (default 1e-7 m)
|
| |
| Property | P_0_b_w |
| | initial gyroscope bias standard deviation (default 5e-3 rad/s)
|
| |
| Property | P_0 |
| | initial state covariance matrix (n x n)
|
| |
|
attributes regarding the measurement noise
|
| Property | var_acc_xy |
| | accelerometer variance, x- and y-axis (default 0.045 m/s^2)
|
| |
| Property | var_acc_z |
| | accelerometer variance, z-axis (default 0.07 m/s^2)
|
| |
| Property | var_vel_ZUPT |
| | variance of velocity 'measurements' during ZUPTs (default 1e-6)
|
| |
| Property | var_gyr |
| | gyroscope variance (default 1.22e-3 rad/s)
|
| |
| Property | var_pos_x |
| | variance of x-position 'measurements' during ZUPTs (default 1e-6 m)
|
| |
| Property | var_pos_y |
| | variance of y-position 'measurements' during ZUPTs (default 1e-6 m)
|
| |
| Property | var_pos_z |
| | variance of z-position 'measurements' during ZUPTs (default 1e-6 m)
|
| |
| Property | var_yaw_pseudo |
| | variance of yaw pseudo-measurements (default TODO:)
|
| |
| Property | R |
| | measurement noise covariance matrix (m x m)
|
| |
|
attributes regarding the process noise
- Note
- the process noise covariance matrix is calculated for each iteration based on the current state vector (see Q_cov)
|
| Property | sigma_w_p |
| | angular velocity standard deviation (default 876e-6 rad/s)
|
| |
| Property | var_a |
| | acceleration variance (default 0.045 m/s^2)
|
| |
| Property | var_b_w |
| | gyroscope bias variance (default 1e-9 rad/s)
|
| |
|
| static function | H_jac (in x) |
| | calculates the jacobian of the measurement function from a given state vector x
|
| |
| static function | h_fun (in x) |
| | calculates the measurement function from a given state vector
|
| |
| static function | getPreprocessedAcc (in acc_this, in acc_next, in q_this, in q_next, in zv) |
| | calculates the preprocessed acceleration measurement
|
| |
| static function | getPreprocessedGyro (in gyro_this, in gyro_next, in bias) |
| | calculates the preprocessed gyro measurement
|
| |
| static function | displayResults (in x_fp, in x_bp, in zv, in options) |
| | displays the results of the EKF1 filter
|
| |
EKF1 is an implementation of a state estimator for JUMP sensors.
This class is an implementation of an Extended Kalman Filter (EKF) based on this derivation.
- Warning
- this implementation is changed from the original derivation. if you want to use the original implementation, use the version of the commit 4fac0d658d the changes are:
- the accelerometer bias is not estimated
- the accelerometer sensitivity is not estimated
- the measurement update of the accelerometer is changed
% example code
% set measurements
ekf.z_acc = acc;
ekf.z_gyr = gyr;
% set zero velocity flag
[smoothed, filtered] = ekf.run();
function EKF1()
Constructor of the EKF1 class.
function run(in obj, in options)
filters and smooths the given data
Property zv
zero velocity flag (1 x N)
- Warning
- all values regarding angles must be given in radians
- Copyright
- see the file LICENSE in the root directory of the repository
Definition at line 35 of file EKF1.m.