Paul Riseborough
32de90b9ef
EKF: Add method to zero covariance terms
2017-11-13 07:05:56 +11:00
Paul Riseborough
f3e34eddc9
EKF: do not attempt to align FW yaw using GPS method if on ground
2017-11-13 07:05:56 +11:00
Paul Riseborough
8f27d3fc54
EKF: don't reset quaternion states unnecessarily
...
When performing the initial in-flight mag yaw reset for RW vehicle, do not reset the quaternion states and corresponding variances unless there has been a change in yaw angle large enough to cause problems with navigation.
This is because the state estimates after a reset are more vulnerable to transient sensor errors, so a reset should be avoided if possible.
2017-11-13 07:05:56 +11:00
Paul Riseborough
9e47b6e1b6
EKF: don't reset quaternions unnecessarily
...
When performing the initial in-flight magnetic field reset for fixed wing vehicles, resetting the quaternion states and their corresponding covariances should be avoided unless yaw errors are large, because state estimates are vulnerable to transient sensor errors immediately following a reset.
2017-11-13 06:55:02 +11:00
Paul Riseborough
29d383edbf
EKF: Allow mag field estimates to stabilise before use
2017-11-13 06:55:02 +11:00
Paul Riseborough
363edf5eb9
EKF: Fix yaw reset for fixed wing
...
Ensures that a complete reset of velocity and position states will always be performed if yaw has had to be reset using GPS velocity.
Ensures that the yaw_align status cannot be set to false once the filter has aligned.
2017-11-13 06:55:02 +11:00
Paul Riseborough
7852c0ed03
Merge pull request #312 from PX4/pr-ekfExtVisQuat
...
EKF: Enable operation with arbitrary External Vision reference frame
2017-11-12 08:35:39 +11:00
Paul Riseborough
5fd006ca48
EKF: remove redundant code
2017-11-11 07:06:01 +11:00
ChristophTobler
368248fe6d
Merge pull request #353 from PX4/pr-expo_int_cast
...
EKF: use uint64_t cast for XeY to avoid float casting of variables
2017-11-08 11:54:39 +01:00
ChristophTobler
e388e59f32
EKF: use uint64_t cast for XeY to avoid float casting of variables
...
The default type for XeY is float
2017-11-08 11:40:26 +01:00
Paul Riseborough
bba3f70a0e
EKF: reduce prediction time step from 12 to 8 sec
...
Reduces susceptibility to incorrect estimation of acceleration bias during sustained yaw rate.
Requires an increase in RAM allocation of 837 Bytes to allow for the longer IMU and output predictor buffers that can be created.
2017-11-02 09:27:33 +01:00
Paul Riseborough
01d68ef67c
EKF: Enable use of rotated external nav estimates
2017-11-01 08:33:57 +11:00
Paul Riseborough
f921b2de5c
Merge pull request #348 from PX4/pr-ekfAddImuBiasReset
...
EKF: Add method to enable the IMU bias states to be reset externally
2017-10-30 15:55:52 +11:00
Paul Riseborough
063533afae
EKF: Add method to enable the IMU bias states to be reset externally
2017-10-26 10:41:39 +11:00
Paul Riseborough
cd2ca57ec2
Merge pull request #339 from PX4/ekfPosCtrlLimits-wip
...
Ekf pos ctrl limits wip
2017-10-23 06:57:23 +11:00
Daniel Agar
22a51c6afd
PX4_ISFINITE -> ISFINITE
2017-10-22 20:37:40 +02:00
Daniel Agar
9e13a2cb21
tecs move initialization
2017-10-22 20:37:40 +02:00
Daniel Agar
31a8e047d7
tecs one line setters and group
2017-10-22 20:37:40 +02:00
Daniel Agar
4f2d571c89
tecs fix code style
2017-10-22 20:37:40 +02:00
Paul Riseborough
79995b2c15
Create total energy control system implementation
...
This is a new, clean and streamlined variant of the mathematical derivation I created a few years ago.
2017-10-22 20:37:40 +02:00
Daniel Agar
9eb860fabd
travis-ci fix gcc and clang compilation jobs ( #344 )
...
- allow the python testing to fail without failing the entire build
2017-10-22 12:19:11 -04:00
Paul Riseborough
e10ec59058
EKF: Use consistent test for navigation validity reporting
...
This will enable controller to take advantage of non-inertial dead reckoning.
2017-10-20 14:44:38 +11:00
Paul Riseborough
19074fdd9e
EKF: Use consistent time limit for inertial dead reckoning test
2017-10-20 14:44:38 +11:00
Paul Riseborough
55a2dc94df
EKF: handle air data fusion covariance reset consistently
...
Both the sideslip and airspeed fusion should not be resetting covariances for states they do not modify.
2017-10-20 14:44:37 +11:00
Paul Riseborough
0d32128701
EKF: Use dead-reckoning status to determine if air data should modify non-wind states
2017-10-20 14:44:37 +11:00
Paul Riseborough
e4ffe199ed
EKF: fix bug in sideslip fusion activation
2017-10-20 14:44:37 +11:00
Paul Riseborough
59f1c3e19e
EKF: Update dead-reckoning definition
...
Use of air data to navigate should be classified as dead-reckoning because neither ground relative velocity or position is observed directly and errors grow faster.
2017-10-20 14:44:37 +11:00
Paul Riseborough
a2dcd5b9b6
EKF: Consolidate no aiding reset logic
2017-10-20 14:44:37 +11:00
Paul Riseborough
929c5c2b37
EKF: enable gps fusion flag to be false while fusing air data
2017-10-20 14:44:37 +11:00
Paul Riseborough
204a218ee6
EKF: Allow dead-reckoning using air data
2017-10-20 14:22:06 +11:00
ChristophTobler
f5fd90533a
fix gps and flow flag handling
...
gps flag was not turning false if there was flow
only reset states if we were relying on that sensor only
2017-10-20 14:22:06 +11:00
Paul Riseborough
9857fb9eb6
EKF: publish control limits for optical flow navigation
2017-10-20 14:22:06 +11:00
Paul Riseborough
afa8844eb7
Merge pull request #341 from CarlOlsson/fix/fw_yaw_align2
...
EKF: If aligning yaw for fw with low GPS velocity, use mag
2017-10-20 14:05:52 +11:00
CarlOlsson
2e03084d34
EKF: If aligning yaw for fw with low GPS velocity, use mag
2017-10-19 16:49:54 +02:00
Paul Riseborough
61e0c04811
Merge pull request #338 from CarlOlsson/fix/fw_pos_reset
...
EKF: Fix bug when resetting position and velocities for fw due to som…
2017-10-18 07:02:34 +11:00
CarlOlsson
c81cdfa1ce
EKF: Fix bug when resetting position and velocities for fw due to something else than bad yaw estimate
...
Signed-off-by: CarlOlsson <carlolsson.co@gmail.com>
2017-10-17 15:08:09 +02:00
Paul Riseborough
410697cb0c
Merge pull request #337 from CarlOlsson/fix/comment
...
EKF: fixed comment
2017-10-17 21:15:06 +11:00
CarlOlsson
8c83167857
EKF: fixed comment
...
Signed-off-by: CarlOlsson <carlolsson.co@gmail.com>
2017-10-17 11:41:55 +02:00
Paul Riseborough
32b795ee10
EKF: Add readme file to EKF documentation directory
2017-10-13 21:46:41 +11:00
Paul Riseborough
8dd4800a2c
EKF: Add preliminary documentation for filter mathematics
2017-10-13 21:34:49 +11:00
Paul Riseborough
a34bba87fc
Merge pull request #322 from PX4/pr-ekfMagFusionMode
...
EKF Add mag fusion mode for VTOL
2017-10-13 07:27:54 +11:00
Paul Riseborough
dbff89fbcb
EKF: Fix error preventing selection of MAG_FUSE_TYPE_AUTOFW
2017-10-12 19:54:35 +11:00
Paul Riseborough
6f7f05fdc0
EKF: Move MAG_FUSE_TYPE_AUTOFW control to the expected place
2017-10-12 14:50:23 +11:00
Paul Riseborough
e834522f62
EKF: Use fixed wing status flag in MAG_FUSE_TYPE_AUTOFW logic
2017-10-12 14:50:23 +11:00
Paul Riseborough
7b4c957ad4
ekf2: Add new mag fusion mode
...
Adds a mode where mag fusion is only used update the field estimates
2017-10-12 14:50:23 +11:00
Paul Riseborough
9c65968c3d
Merge pull request #334 from PX4/pr-ekf_minor_flow_fix
...
ekf: fix optical flow bugs
2017-10-12 09:14:29 +11:00
Paul Riseborough
68bad48598
Merge pull request #330 from CarlOlsson/pr-add_get_wind_vel_var
...
EKF: added get_wind_velocity_var function
2017-10-12 09:12:54 +11:00
Paul Riseborough
4db23b7b2e
EKF: Don't report terrain estimate invalid immediately when HAGL observations fail checks
2017-10-12 08:26:04 +11:00
Paul Riseborough
1119a9b0ac
EKF: Enable optical flow reversion to work if flow data is lost
...
Also improve reporting.
2017-10-12 08:02:54 +11:00
ChristophTobler
cdf6e6cd36
EKF: use delta_time to avoid division by zero
2017-10-11 15:15:06 +02:00