Paul Riseborough
37a09c61bc
EKF: Don't use delayed data to start EV aiding
2016-05-14 21:17:29 +10:00
Paul Riseborough
25f1d1d766
EKF: Add fusion of external vision 3D pos data
2016-05-14 21:17:29 +10:00
Paul Riseborough
81469d6621
EKF: Add position, height and velocity reset for EV aiding
2016-05-14 21:17:29 +10:00
Paul Riseborough
3a0fcd03d7
EKF: Add interfaces and variables to use ext vision data
2016-05-14 21:17:29 +10:00
Paul Riseborough
7afd015b49
Merge pull request #129 from PX4/pr-ekf2OutputFilterTracking
...
EKF: Improve output observer position and velocity tracking
2016-05-14 15:53:19 +09:30
Paul Riseborough
c7e225124c
EKF: Improve output observer position and velocity tracking
...
Replace the delayed time feedback mechanism used by the translational states with a direct feedback method.
Time constants for velocity and position convergence can be separately adjusted with tunable parameters
The method is more computationally more expensive because it requires modification of the output buffer history but is acceptable because it only requires 6 FLOP per buffer index for a total of 30*6 = 180 FLOP
The method was not applied to the attitude states because the quaternion operations required at each buffer index would have been computationally prohibitive.
2016-05-14 12:45:29 +09:30
Paul Riseborough
627d08ecc9
Revert "EKF: Fix bug in output observer"
...
This reverts commit 03f3df7415
.
2016-05-14 12:26:46 +09:30
Paul Riseborough
03f3df7415
EKF: Fix bug in output observer
...
Bug was causing output observer state history to be stored at the the EKF, not IMU output rate and resulted in degraded tracking performance
2016-05-14 08:33:05 +09:30
Lorenz Meier
d595596c42
Merge pull request #114 from PX4/fix_linux_build
...
CMakeLists: use find_package Eigen3
2016-05-12 12:55:40 +02:00
Carl Olsson
5217b73df1
added bad_airspeed reporting ( #123 )
2016-05-12 10:06:04 +02:00
Carl Olsson
b126921894
changed airspeed innovation gate to 5 ( #119 )
2016-05-12 10:05:26 +02:00
Julian Oes
b8ccc58887
cmake: ignore more eigen warnings
2016-05-12 08:38:37 +02:00
Julian Oes
b74114a573
cmake: ignore deprecated warnings of Eigen
2016-05-12 08:27:59 +02:00
Julian Oes
07ecffc963
cmake: another try to get the module path right
2016-05-10 17:59:01 +02:00
Julian Oes
001433c660
cmake: debug output for path
2016-05-10 17:59:01 +02:00
Julian Oes
d242bb78b9
cmake: try to provide path to FindEigen3
2016-05-10 17:59:01 +02:00
Julian Oes
dcd191d734
cmake: include FindEIgen3.cmake for older cmake
2016-05-10 17:59:01 +02:00
Julian Oes
798cdfe675
build.sh: if cmake fails, don't continue with make
2016-05-10 17:59:01 +02:00
Julian Oes
37b73c7d85
README: updated build instructions, prerequisites
2016-05-10 17:59:01 +02:00
Julian Oes
fc47684942
build.sh: get path right for travis build
2016-05-10 17:59:01 +02:00
Julian Oes
54e62f1495
travis: just use libeigen3-dev
2016-05-10 17:59:01 +02:00
Julian Oes
3d28f7ecca
CMakeLists: use find_package Eigen3
...
Instead of hardcoding the Eigen3 path which only works on Mac, use
find_package(Eigen3).
2016-05-10 17:59:01 +02:00
Paul Riseborough
e91a934f07
Merge pull request #124 from PX4/pr-removeVehicleArmStatus
...
Remove reliance on vehicle arm status
2016-05-10 10:54:32 +10:00
Paul Riseborough
1a24ec5f50
EKF: remove unused flag from control status message
2016-05-10 10:45:06 +10:00
Paul Riseborough
481c624975
EKF: Remove use of vehicle arm status
...
Use single externally set in-air status for all decisions
2016-05-10 10:23:08 +10:00
Paul Riseborough
3cdf56e57c
Merge pull request #122 from CarlOlsson/airspeed_fix
...
fixed_airspeed_healthy_bug
2016-05-09 10:24:22 +10:00
Paul Riseborough
e06c0f41d7
Merge pull request #117 from PX4/ekf2AccuracyImprovement
...
EKF: Accuracy Improvements
2016-05-09 09:24:44 +10:00
CarlOlsson
ee7d7aeb8a
fixed_airspeed_healthy_bug
2016-05-08 18:30:37 +02:00
Paul Riseborough
175723f690
EKF: Allow for larger accel bias offsets on startup
2016-05-08 18:03:58 +10:00
Paul Riseborough
161ac2e051
EKF: ensure position co-variances are reset
...
When transitioning into optical flow nav from a non-aiding condition during ground operation, ensure position covariances are reset as they could be invalid.
2016-05-08 18:03:09 +10:00
Paul Riseborough
feb4db6347
EKF: protect against large IMU errors during initial tilt alignment
...
Turn off innovation consistency checks for height and synthetic position measurements until the tilt as aligned
2016-05-08 17:54:45 +10:00
Paul Riseborough
00973d6215
EKF: fix pos/vel fusion innovation variance bug
2016-05-08 17:51:47 +10:00
Paul Riseborough
2144a40a3c
EKF: redefine accelerometer bias state inhibit switch bit location
2016-05-08 16:03:21 +10:00
Paul Riseborough
724280fd1f
EKF: move calculation of optical flow observation variance into a function
...
Allows it to be used when calculating initial state variance
2016-05-08 15:40:06 +10:00
Paul Riseborough
25682dce91
EKF: Prevent badly conditioned covariance calculation when starting or resetting to optical flow
2016-05-08 10:30:40 +10:00
Paul Riseborough
c66ed7b662
EKF: Add interface method for filter fault status
2016-05-07 21:18:00 +10:00
Paul Riseborough
020b87933e
EKF: replace fault status struct with a union to facilitate logging
2016-05-07 21:11:16 +10:00
Paul Riseborough
7f5669fb2d
EKF: consolidate covariance corrections
...
Combines the forced symmetry, variance limiting and zeroing of covariances for unwanted states in the one function.
This ensures a consistent correction is applied after every covariance prediction or correction.
2016-05-07 20:29:50 +10:00
Paul Riseborough
0c6a367e1b
EKF: fix Travis build error
2016-05-07 17:45:49 +10:00
Paul Riseborough
22f0f52bf1
EKF: fix travis build error
2016-05-07 17:06:45 +10:00
Paul Riseborough
9e53ff2f80
EKF: Improve protection against bad optical flow fusion
2016-05-07 14:23:56 +10:00
Paul Riseborough
1126048a93
EKF: Improve protection against bad airspeed fusion
2016-05-07 14:23:38 +10:00
Paul Riseborough
c8d95586e7
EKF: Improve protection against bad magnetometer fusion
2016-05-07 14:23:20 +10:00
Paul Riseborough
310bd97080
EKF: Improve protection against bad pos vel fusion
2016-05-07 14:22:59 +10:00
Paul Riseborough
da9d894441
EKF: Improvements to covariance reset
2016-05-07 12:57:41 +10:00
Lorenz Meier
199c423f1f
Attitude fw: Remove builtin perf counters
2016-05-05 20:06:01 +02:00
Paul Riseborough
d9aeace6ac
EKF: tuning update
2016-05-05 21:23:03 +10:00
Paul Riseborough
f1b7e7714e
EKF: Make average update rate of EKF closer to target
...
With the EKF, the average update rate is more important than the instantaneous value as it affects tuning. This patch ensures that the EKF prediction cycle will be performed early if the previous one was late in an attempt to maintain the target update rate.
2016-05-05 21:23:03 +10:00
Paul Riseborough
1daa6c7866
EKF: update tuning defaults
2016-05-05 21:23:03 +10:00
Paul Riseborough
fc6c0c7ebf
EKF: Update covariance prediction
...
Refresh auto generated code
Make 3-axis accel fusion the default and no accel fusion the option
2016-05-05 21:23:03 +10:00