1082 Commits

Author SHA1 Message Date
Paul Riseborough
6bdbe032f9 EKF: Fallback to optical flow for all in-flight loss of navigation scenarios 2018-06-09 22:23:55 +02:00
Mohammed Kabir
b4d2b8c57d EKF : introduce new architechture for navigation limits 2018-06-09 22:23:55 +02:00
Paul Riseborough
8a713398cb EKF: Improve ground effect compensation
Start deadline at zero so that initial rotor wash effect is rejected.
2018-06-09 22:23:55 +02:00
Paul Riseborough
39697f1196 EKF: rework optical flow switching 2018-06-09 22:23:55 +02:00
Paul Riseborough
1cfe845751 EKF: rework GPS quality check 2018-06-09 22:23:55 +02:00
Paul Riseborough
99a80387ed EKF: improve optical flow GPS quality checking 2018-06-09 22:23:55 +02:00
Paul Riseborough
7f36add241 EKF: scale GPS vertical accuracy check when using optical flow 2018-06-09 22:23:55 +02:00
Paul Riseborough
fc9f532c34 EKF: relax range finder data continuity check 2018-06-09 22:23:55 +02:00
Paul Riseborough
93c456f2b8 EKF: Improve protection against badly conditioned dVel bias covariances
Reduces likelihood of Z delta velocity bias learning to wrong value.
2018-06-09 22:23:55 +02:00
Paul Riseborough
225057aaf5 EKF: Fix bug preventing use of terrain estimator 2018-06-09 22:23:55 +02:00
Paul Riseborough
adb4a09beb EKF: Fix bug causing large yaw innovations when GPS is lost 2018-06-09 22:23:55 +02:00
Paul Riseborough
f59cd0f5b0 EKF: Don't make detection of indoor operation dependent on optical flow
This is required because it can take several seconds for an optical flow sensor operation to be confirmed and there are also many use cases for indoor operation where no optical flow is used.
2018-06-09 22:23:55 +02:00
Paul Riseborough
1562a82dc2 EKF: Add parameter to adjust on-ground movement detector sensitivity 2018-06-09 22:23:55 +02:00
Paul Riseborough
ea9e8246ed EKF: Improve detection of indoor flight condition 2018-06-09 22:23:55 +02:00
Paul Riseborough
565f99254c EKF: Reduce effect of yaw gyro bias when using optical flow indoors 2018-06-09 22:23:55 +02:00
Paul Riseborough
e10798bfdf EKF: Add on ground movement detector 2018-06-09 22:23:55 +02:00
Paul Riseborough
2d3b65231b EKF: Reset yaw gyro bias learning when resuming use of magnetometer
The previous lack of yaw drift constraint will also mean that the yaw gyro bias estimate is likely to be incorrect and needs to be re-learned.
2018-06-09 22:23:55 +02:00
Paul Riseborough
8191068959 EKF: Don't start using mag if optical flow use is interrupted
If magnetometer use is being inhibited because an indoor condition has been detected (optical flow and poor or no GPS) and the optical flow fusion checks fail causing the EKF to stop navigating, we do not want the EKF to start using the magnetometer.
2018-06-09 22:23:55 +02:00
Paul Riseborough
4889e8432c EKF: Don't fuse multi rotor drag if yaw angle is bad 2018-06-09 22:23:55 +02:00
Paul Riseborough
092a8d8f21 EKF: Fix GPS validity time check error 2018-06-09 22:23:55 +02:00
Paul Riseborough
0160aaa568 EKF: Don't use magnetometer with optical flow only nav if GPS checks are failing 2018-06-09 22:23:55 +02:00
Paul Riseborough
84516760c0 EKF: Use stricter GPS accuracy test when optical flow is being used
This adds some hysteresis to the automated optical flow selection and also reduces likelihood of bad GPS being used when operating indoors,
2018-06-09 22:23:55 +02:00
Daniel Agar
a80b3ab610 set MODULE define for each library
- this is needed for INFO, WARN, ERR messages when used within PX4
2018-05-27 20:08:47 +02:00
Daniel Agar
50631e5d98 geo remove use of DBL_EPSILON
-this doesn't seem to be (obviously?) available on qurt
2018-05-21 10:59:40 +02:00
Daniel Agar
cb63f16d48
cmake cache ECL source directory path to work with catkin (#447) 2018-05-17 12:01:30 -04:00
Bart Slinger
bae4b8a5e7 remove superfluous elseif (#431)
* remove superfluous elseif

* Set ev_hgt flag false when starting on baro
2018-05-11 08:38:42 +10:00
Paul Riseborough
16976d3911 Merge branch 'pr-ekfOptFlowFixes'
* pr-ekfOptFlowFixes:
  EKF: fix bug causing height offset when GPS use stops
  EKF: Don't reject saturated flow data when it is the only aiding source
  EKF: Prevent flow motion check false positives
  EKF: Don't assume large position uncertainty when starting optical flow nav
  EKF: relax terrain update requirements for continuing optical flow use
  EKF: Relax minimum required range finder measurement rate
  EKF: relax optical flow on ground motion checks
  EKF: range finder aiding logic fixes
  EKF: Decouple range finder use criteria checking and selection
  EKF: Don't auto select range finder for height when on ground.
  EKF: Fix false triggering of optical flow bad motion checks
  EKF: update comments
  EKF: Don't use optical flow if GPS is good and the vehicle is not using range finder for height
  EKF: Stop using EV for yaw when GPS fusion starts
  EKF: Add persistence criteria to  GPS fail check
  EKF: allow GPS fallback if quality bad and alternative aiding available
  EKF: always run GPS checks
2018-05-11 08:22:14 +10:00
Paul Riseborough
75e65901ae EKF: fix bug causing height offset when GPS use stops
This bug causes the last vertical velocity observation to be continuously fused.
2018-05-10 10:55:56 +02:00
Paul Riseborough
e8e9e34a73 EKF: fix bug causing height offset when GPS use stops
This bug causes the last vertical velocity observation to be continuously fused.
2018-05-10 13:45:19 +10:00
Paul Riseborough
6cadc92285 EKF: Don't reject saturated flow data when it is the only aiding source 2018-05-10 07:11:59 +10:00
Paul Riseborough
bf902e5eca EKF: Prevent flow motion check false positives
The previous implementation could false trigger if there was significant vibration below 200Hz during startup.
2018-05-09 07:47:17 +10:00
Paul Riseborough
bdf5b3e003 EKF: Don't assume large position uncertainty when starting optical flow nav 2018-05-08 08:43:56 +10:00
Paul Riseborough
e26711af7d EKF: relax terrain update requirements for continuing optical flow use 2018-05-08 08:43:14 +10:00
Paul Riseborough
868bc01087 EKF: Relax minimum required range finder measurement rate 2018-05-08 08:43:14 +10:00
Paul Riseborough
02963a85c4 EKF: relax optical flow on ground motion checks 2018-05-08 08:43:14 +10:00
Paul Riseborough
24b005ed57 EKF: range finder aiding logic fixes 2018-05-08 08:42:29 +10:00
Paul Riseborough
0c0a6602b0 EKF: Decouple range finder use criteria checking and selection 2018-05-08 08:42:29 +10:00
Paul Riseborough
6708bec1b4 EKF: Don't auto select range finder for height when on ground. 2018-05-08 08:42:03 +10:00
Paul Riseborough
0a63052753 EKF: Fix false triggering of optical flow bad motion checks 2018-05-08 08:42:03 +10:00
Paul Riseborough
f9d4934db6 EKF: update comments 2018-05-08 08:42:03 +10:00
Paul Riseborough
82de3141f0 EKF: Don't use optical flow if GPS is good and the vehicle is not using range finder for height 2018-05-08 08:42:03 +10:00
Paul Riseborough
389786ef1b EKF: Stop using EV for yaw when GPS fusion starts 2018-05-08 08:42:03 +10:00
Paul Riseborough
4ab78230e6 EKF: Add persistence criteria to GPS fail check 2018-05-08 08:41:15 +10:00
Paul Riseborough
67d71ca406 EKF: allow GPS fallback if quality bad and alternative aiding available 2018-05-08 08:41:15 +10:00
Paul Riseborough
bd59e381db EKF: always run GPS checks 2018-05-08 08:40:31 +10:00
Daniel Agar
b227aca4a8 geo_lookup fix table bounds 2018-05-06 03:13:00 +02:00
Daniel Agar
e494a4e634 Jenkins set git username and email with environment variables 2018-05-05 18:11:28 -04:00
Daniel Agar
3639087ac6 cmake and Jenkins add basic address santiizer test buld 2018-05-05 16:11:04 -04:00
Daniel Agar
1fba622a80 travis-ci basic build script 2018-05-05 15:25:54 -04:00
Daniel Agar
cde2ee9b6f cmake ignore missing-field-initializers 2018-05-05 15:25:54 -04:00