Roman
36bffd2571
ekf: calculate the delta time between consecutive baro measurments
...
(used for calculating filtered baro offset when primary height source
is not baro)
Signed-off-by: Roman <bapstroman@gmail.com>
2017-06-15 09:10:43 +02:00
Roman
a0ab5cf0d7
ekf vel_pos_fusion: added height sensor offset to range innovation calculation
...
Signed-off-by: Roman <bapstroman@gmail.com>
2017-06-15 09:10:43 +02:00
Roman
a1e67396f4
ekf: added methods for setting control height flags
...
Signed-off-by: Roman <bapstroman@gmail.com>
2017-06-15 09:10:43 +02:00
Paul Riseborough
d6decb3c84
Merge pull request #277 from PX4/pr-ekfBufferParam
...
EKF: Add a parameter to enable setting of a minimum buffer length
2017-06-15 07:34:21 +10:00
Paul Riseborough
c48b879843
Merge pull request #276 from CarlOlsson/feature/only_update_mag_states
...
EKF: Add feature to use the mag to only update the mag states
2017-06-14 11:04:14 +10:00
CarlOlsson
b255d4a53a
fixed typos
2017-06-12 18:13:22 +02:00
Paul Riseborough
97eb17a62f
Merge pull request #265 from PX4/pr-ekfOutputObserver
...
EKF: add option to output velocity as time derivative of position
2017-06-12 19:01:54 +10:00
Paul Riseborough
fed4a9bc5a
EKF: add vertical position derivative output
...
Add calculation of a vertical position derivative to the output predictor. This will have degraded tracking relative to the EKF states, but the velocity will be closer to the first derivative of the position and reduce the effect inertial prediction errors on control loops that are operating in a pure velocity feedback mode.
Move calculation of IMU offset angular rate correction out of velocity accessor and into output predictor.
Provide separate accessor for vertical position derivative.
2017-06-12 10:45:46 +10:00
Paul Riseborough
16c7041f4a
EKF: Add a parameter to enable setting of a minimum buffer length to handle large sensor timing jitter
2017-06-12 09:33:34 +10:00
Paul Riseborough
a17879ab91
matlab: miscellaneous EKF replay script file improvements
...
Save APM and PX4 data into separate directories and level plots accordingly
2017-06-10 13:29:20 +10:00
Paul Riseborough
3a7a66d360
matlab: improve EKF simulation fusion control
...
Add ability to start before GPS checks pass.
Add ability to turn GPS fusion off and on during replay.
Add ability to turn Optical Flow fusion off and on during replay.
Add ability to turn Visual Odometry fusion off and on during replay.
Convert miscellaneous constants to parameters
2017-06-10 13:02:42 +10:00
Paul Riseborough
dabf129daf
matlab: Update EKF replay script files
...
Add automatic save of output results
2017-06-05 20:53:16 +10:00
Julien Lecoeur
d0b4f1e225
Use binary operator~ instead of logical operator!
2017-06-05 01:07:52 +08:00
Julien Lecoeur
c323b64742
Fix -Werror=int-in-bool-context on GCC 7
2017-06-05 01:07:52 +08:00
Daniel Agar
3e197fdded
EKF tests remove extra semicolon
2017-06-05 01:06:41 +08:00
Daniel Agar
e7ed32fb82
attitude_fw remove extra semicolons
2017-06-05 01:06:41 +08:00
Daniel Agar
6ed8512ff4
EKF parameters use int32_t ( #279 )
2017-06-03 17:16:29 -04:00
Paul Riseborough
8351e13c70
Matlab: update readme file and provide link to sample data set
2017-06-03 13:22:08 +10:00
Paul Riseborough
9f61622044
Matlab: Improve efficiency of odometry derivation
2017-06-03 12:39:24 +10:00
Paul Riseborough
510b8763ea
Matlab: Add basic implementation of EKF to support development testing
2017-06-03 12:39:24 +10:00
CarlOlsson
871ebb251b
EKF: Changed get_control_mode to coyp 32 bits
2017-06-01 11:02:56 +02:00
CarlOlsson
a1308482fd
EKF: Reset the mag states to the field state variance when switching from the inhibit mag mode to standard mode
2017-05-31 10:18:40 +02:00
CarlOlsson
be16406b35
EKF: Add feature to use the mag to only update the mag states
2017-05-26 11:29:21 +02:00
Paul Riseborough
05c3c46f83
ekf2: changes arising from code review
2017-05-17 08:59:01 +02:00
Paul Riseborough
394dd95cba
EKF: Don't do magnetic field estimation without earth frame measurements
...
Use horizontal acceleration to check if yaw is observable independent of the magnetometer.
Use rotation about the vertical to check if mag raises are observable.
If neither yaw of mag biases are observable, save the magnetic field variances and switch to magnetic yaw fusion.
Use the last learned declination when using magnetic yaw fusion so that the yaw reference remains consistent.
When yaw or biases become observable, reinstate the saved variances and switch back to 3D mag fusion.
2017-05-17 08:59:01 +02:00
Paul Riseborough
20db74eca8
Revert "EKF: Add parameter control of individual IMU axis delta velocity bias estimation"
...
This reverts commit 9c31632e2bd8c53843dfc9dc419256607578350e.
2017-05-15 16:38:17 +10:00
ChristophTobler
47973a4820
run terrain estimator after control fusion modes. Otherwise _range_data_ready will never be true and fuseHagl() will never run
2017-05-15 07:42:51 +02:00
Paul Riseborough
9c31632e2b
EKF: Add parameter control of individual IMU axis delta velocity bias estimation
...
Add a bitmask parameter to control bias learning for individual axes. This is achieved by setting the disabled states to zero together with their corresponding covariances.
Minor cleanup of the covariance prediction comments.
Removal of unnecessary variable copy operations.
Replace index operations to initialise covariance to zero with the more efficient memset.
2017-05-11 07:51:37 +02:00
Daniel Agar
87fdee440b
EKF estimator_interface coverity fix 139419
2017-04-29 11:48:15 +02:00
Daniel Agar
b3f8fd19e0
EKF estimator_interface coverity fix 140490, 140491
2017-04-29 11:48:15 +02:00
Paul Riseborough
5ee0ed5a0d
EKF: Increase sensitivity and add tuning of bad accel checks
2017-04-29 11:47:38 +02:00
Paul Riseborough
e35921534d
EKF: fix reporting of optical flow fusion errors
2017-04-29 11:46:39 +02:00
Paul Riseborough
5112ffca90
EKF: Adjust default time delay params and clean up formatting
2017-04-27 07:34:42 +02:00
Paul Riseborough
8a2c5c1ad2
Merge pull request #266 from dagar/valgrind
...
ekf2 initialization fixes
2017-04-25 17:38:17 +10:00
Daniel Agar
3919d60f66
ekf2 initialization fixes
2017-04-24 18:56:50 -04:00
Paul Riseborough
c62bdcbdb2
Merge pull request #264 from PX4/pr-ekfBuildErrorFix
...
EKF: remove clang build error message
2017-04-18 19:29:16 +10:00
Paul Riseborough
c3f966f53e
EKF: remove clang build error message
2017-04-18 19:22:59 +10:00
Paul Riseborough
d47c372872
Merge pull request #263 from PX4/pr-ekfBuildErrorFix
...
EKF: Fix travis clang build error
2017-04-18 17:12:51 +10:00
Paul Riseborough
1e393530ed
EKF: Fix travis clang build error
2017-04-18 17:06:31 +10:00
Paul Riseborough
c607941e2f
EKF: Allow external setting of air density for multi-rotor drag fusion
2017-04-16 13:07:12 +02:00
Paul Riseborough
3758c5a09d
EKF: down-sample drag specific force data
2017-04-16 13:07:12 +02:00
Paul Riseborough
9f48c0505b
EKF: improve covariance stability when estimating wind
2017-04-16 13:07:12 +02:00
Paul Riseborough
5cf31e439d
EKF: Add specific drag fusion tuning parameters
2017-04-16 13:07:12 +02:00
Paul Riseborough
465b145929
EKF: Add multi-rotor drag model for wind estimation
2017-04-16 13:07:12 +02:00
Paul Riseborough
b07acd8cf3
Merge pull request #254 from PX4/pr-ekfAccelErrorHandling
...
EKF: improve recovery from bad IMU accel data
2017-04-12 21:39:14 +10:00
Paul Riseborough
0d7e7e9d81
EKF: Don't use EKF origin in GPS drift check calculation
...
The GPS drift calculations need to be able to run independently of the EKF origin.
2017-04-12 13:11:34 +02:00
Paul Riseborough
7b996c5972
EKF: Increase measurement error allowance for accelerometer clipping
2017-04-07 16:37:27 +10:00
Paul Riseborough
f0bbbc8dc6
EKF: Add reporting of bad accel status
2017-04-07 08:47:13 +10:00
Paul Riseborough
2f2ac5be43
EKF: Improve protection against severe IMU accel errors
...
Use vertical velocity and position innovation failure to detect bad accelerometer data caused by clipping or aliasing which can cause large vertical acceleration errors and loss of height estimation. When bad accel data is detected:
1) Inhibit accelerometer bias learning
2) Force fusion of vertical velocity and height data
3) Increase accelerometer process noise
2017-04-07 08:47:13 +10:00
Paul Riseborough
a1a5734443
Merge pull request #259 from PX4/pr-ekfBugFix
...
EKF: Protect against covariance prediction and update errors
2017-04-06 16:30:07 +10:00