Roman
63cf3d50be
ekf gps reset: do not bother checking for need of reset if gps is not
...
available
Signed-off-by: Roman <bapstroman@gmail.com>
2016-10-24 11:45:36 +02:00
Roman
c5f750dcca
ekf reset: more granular reset / timeout strategy for gps fusion
...
- if both gps position and velocity measurements are rejected for 7 seconds
do a reset
- if only gps position measurements are rejected then wait for 14 seconds
as we still have velocity measurements to constrain the drift in position
- introduced ecl internal parameter for the timeout
Signed-off-by: Roman <bapstroman@gmail.com>
2016-10-24 11:40:12 +02:00
Roman Bapst
65de4962b5
Merge pull request #203 from PX4/pr-ekfVibeReporting
...
EKF: Add IMU vibration calculation and reporting
2016-10-19 13:32:53 +02:00
Paul Riseborough
b10b0184c5
EKF: Add IMU vibration calculation and reporting
...
Add calculation and reporting of IMU delta angle and velocity coning and high frequency vibration
2016-10-19 21:46:55 +11:00
Roman
17c195d1cd
ekf2 height reset: do not apply height change to height state twice (bug)
...
Signed-off-by: Roman <bapstroman@gmail.com>
2016-10-18 07:58:19 +02:00
Paul Riseborough
1093e6d789
EKF: fix documentation error
2016-10-13 22:37:14 +02:00
Roman
f80b3481a4
reset the newest output sample for all possible resets
...
Signed-off-by: Roman <bapstroman@gmail.com>
2016-10-12 08:54:38 +02:00
Roman
238d947239
proper handling of position and velocity reset
...
- position reset method was returning before the actual delta values
were written and applied to the output buffer
- apply reset delta also to the output sample which was already taken out
from the output buffer, otherwise the complementary filter solution is
offset from the ekf solution
Signed-off-by: Roman <bapstroman@gmail.com>
2016-10-12 08:54:38 +02:00
Paul Riseborough
79b1d3018d
EKF: Fix magnetometer innovation test ratio reporting bug
2016-10-12 08:51:45 +02:00
Lorenz Meier
394bfdc935
Update README.md
...
Fix prerequisites.
2016-10-08 11:00:52 +02:00
Daniel Agar
0d02bb2612
ecl attitude_fw fix excessive body fixed turn offset
...
-limit body fixed turn offset contrained roll to possible
roll setpoint range
-fixes #181
2016-10-06 09:03:48 +02:00
James Goppert
7dbb43f2cd
Update matrix.
2016-10-06 09:03:10 +02:00
Paul Riseborough
352750e5d1
EKF: publish ekf solution status summary data
2016-10-06 09:02:29 +02:00
Paul Riseborough
007e73379f
EKF: Improve reporting of position error
2016-10-06 09:02:29 +02:00
Paul Riseborough
744b79c1b2
EKF: Publish innovation test ratios
2016-10-06 09:02:29 +02:00
Paul Riseborough
5ab90048e1
Merge pull request #184 from PX4/pr-rngDelayFix
...
fixed computation of range measurement timestamp
2016-10-04 09:13:19 +11:00
Paul Riseborough
b29174d86b
Merge pull request #193 from PX4/pr-haglInit
...
Pr hagl init
2016-10-04 08:21:15 +11:00
Paul Riseborough
5702c2d51b
Merge pull request #186 from priseborough/pr-ekfOutputPredictor
...
EKF: Improve Output Predictor Tracking
2016-10-04 07:47:34 +11:00
Paul Riseborough
b5ba4f280f
EKF: reduce output predictor velocity time constant
2016-10-03 14:13:07 +11:00
Paul Riseborough
65762e5998
EKF: publish output predictor tracking errors
2016-10-03 14:13:07 +11:00
Paul Riseborough
c81f9f1dba
EKF: Reduce output predictor tracking errors
...
Implements a PI tracking loop
2016-10-03 14:13:07 +11:00
Julian Oes
4fefe5c6c6
cmake: stack size args cleanup
2016-09-28 08:23:18 +02:00
Julian Oes
616aeb9ad7
ekf_helper: fix forgotten return value
2016-09-27 16:36:29 +02:00
Julian Oes
fd403b733d
CMakeLists: don't always optimize for size
...
Going forward the optimization flags should be set for a platform,
rather than for each individual module.
2016-09-27 16:35:35 +02:00
Roman
c6e1d97176
terrain estimator: initialise with projection
...
Signed-off-by: Roman <bapstroman@gmail.com>
2016-09-20 14:09:42 +02:00
Roman
cc05db4985
terrain estimator: pass initialisation return value correctly
...
Signed-off-by: Roman <bapstroman@gmail.com>
2016-09-20 14:07:50 +02:00
Roman
d53f532079
fixed computation of range measurement timestamp
...
Signed-off-by: Roman <bapstroman@gmail.com>
2016-09-17 11:41:12 +02:00
Paul Riseborough
7240fc78fe
Merge pull request #183 from CarlOlsson/cont_wind_estimation
...
Fix wind state and wind variance initialization
2016-08-23 19:55:22 +10:00
James Goppert
eab57b0187
Merge pull request #189 from PX4/revert-188-matrix_update
...
Revert "Update matrix."
2016-08-18 12:29:41 -04:00
James Goppert
e5b74f511f
Revert "Update matrix."
2016-08-18 12:29:31 -04:00
James Goppert
90f6bd7f3d
Merge pull request #188 from PX4/matrix_update
...
Update matrix.
2016-08-18 12:06:20 -04:00
James Goppert
1daea6c1a3
Update matrix.
2016-08-18 11:58:31 -04:00
CarlOlsson
8d60da1442
removed old wind initialization
2016-08-11 15:26:21 +02:00
CarlOlsson
51c8715638
fixed issue with airspeed never fused
2016-08-11 15:26:21 +02:00
Paul Riseborough
d1d56d9e5e
EKF: Add logic to to control wind state estimation
2016-08-11 15:26:21 +02:00
Paul Riseborough
75bec44b94
EKF: add function to initialise wind states
2016-08-11 15:26:21 +02:00
Paul Riseborough
6dff2df28e
EKF: Add method to reset wind state covariances
...
Set variances in polar coordinates and rotate into cartesian frame
2016-08-11 15:26:21 +02:00
Paul Riseborough
eff9af549f
scripts: derive conversion from polar to cartesian wind state covariance
2016-08-11 15:26:21 +02:00
Paul Riseborough
a9894d7e8c
EKF: improve efficiency of airspeed fusion
...
Don't compute array entries where the result will be zero
2016-08-11 15:26:21 +02:00
Roman Bapst
df0f8fed45
fixed wrong condition on which gps height would be fused ( #180 )
...
- this solves the issue where height innovations would jump
between two regimes
Signed-off-by: Roman <bapstroman@gmail.com>
2016-08-05 14:45:48 +02:00
Youssef Demitri
168d9add76
added getter function for wind states
2016-07-22 12:33:41 +02:00
Beat Küng
73b8ac954d
ekf_helper.cpp: remove unused includes
...
This fixes a compile error with GCC 5.2.0 and cross-compilation:
/usr/arm-none-eabi/include/c++/5.2.0/arm-none-eabi/armv7e-m/fpu/bits/error_constants.h:122:27: error: 'ENOTSUP' was not declared in this scope
not_supported = ENOTSUP,
The problem was that the #include <iomanip> was taken from the host system,
which conflicts with includes from NuttX (NuttX has only basic C++ STL
support)
2016-07-15 12:50:11 +02:00
Lucas De Marchi
2240eb6b4f
Move __STDC_FORMAT_MACROS to build system ( #174 )
...
__STDC_FORMAT_MACROS changes the behavior of inttypes.h to allow
defining format macros for printf-like functions. It needs to be defined
before any include is done, otherwise due to include chains and header
guards it may not take effect.
Instead of defining it everywhere it is used, let the PX4 build system
to deal with it.
2016-07-10 16:29:51 +02:00
georgehines
4f8ffb3420
promote to float (for internal representation) before scaling by format multiplier ( #175 )
2016-07-10 11:13:18 +02:00
Paul Riseborough
a2d866520a
EKF: perform innovation check in all axes before fusing 3D mag data ( #171 )
...
Perform the innovation consistency check on all axes first and exit if any axis fails. Reduces the likelihood of bad magnetometer data corrupting the attitude estimates.
2016-07-07 16:46:30 +02:00
Beat Küng
5e0a229ee8
data_validator cleanup: use dimensions variable, use static for some constants ( #167 )
2016-06-30 13:28:01 +02:00
Paul Riseborough
0cc0008927
Merge pull request #166 from georgehines/matlab-log-import
...
add double support
2016-06-30 17:21:37 +10:00
Paul Riseborough
eaae95fdc4
Merge pull request #160 from priseborough/pr-ekf2Improvements
...
EKF: clean up fusion control logic
2016-06-30 17:18:14 +10:00
Paul Riseborough
f5e9ea1626
EKF: Prevent potential divide by zero
2016-06-30 17:06:32 +10:00
Paul Riseborough
eb2afc522d
EKF: fix bug preventing use of baro as a backup height source
2016-06-30 17:06:32 +10:00