Commit Graph

616 Commits

Author SHA1 Message Date
Andrew Tridgell 83e5639225 AP_NavEKF2: apply min GPS accuracy at measurement point
this fixes an issue a RTK GPS gives 1cm horizontal and vertical
accuracy and that causes the variances to get too small
2020-08-21 07:40:13 +10:00
Peter Barker 032b7c81e5 AP_NavEKF2: correct includes 2020-08-07 19:20:07 +10:00
Andy Piper e39e24bd18 AP_NavEKF2: INS get_sample_rate() renamed to get_loop_rate_hz() 2020-07-10 16:45:29 +10:00
Paul Riseborough 25cba50f10 AP_NavEKF3: Fix EK2_MAG_CAL parameter description 2020-07-07 15:33:58 +10:00
Paul Riseborough ea4589ea94 AP_NavEKF2: Reset yaw estimator bias states at start of flight
Enables yaw bias to be learned when sitting stationary on ground.
2020-07-07 15:33:58 +10:00
Paul Riseborough b6d9b6f3c7 AP_NavEKF2: Update documentation for non-compass use case
Instruction now explicitly specifies that all COMPASS_USE parameters must be set to 0 and COMPASS_ENABLE must be set to 1
2020-07-07 15:33:58 +10:00
Paul Riseborough ccaa4d6aa9 AP_NavEKF2: Fix one frame delay in processing yaw estimator velocity data 2020-07-07 15:33:58 +10:00
Peter Barker 081c0bbfe0 AP_NavEKF2: correct comments on getFilterFaults and getFilterTimeouts methods 2020-07-07 10:50:41 +10:00
Paul Riseborough 9507a2e157 AP_NavEKF2: Fix parameter description 2020-06-24 21:16:50 +09:00
Randy Mackay a8c2be26ba AP_NavEKF2: remove unused terrainHgtStableSet_ms 2020-06-24 21:16:50 +09:00
Paul Riseborough 502b96f49c AP_NavEKF2: Clarify intended use of setTerrainHgtStable accessor 2020-06-24 21:16:50 +09:00
Dr.-Ing. Amilcar do Carmo Lucas 83dc46d539 AP_NavEKF2: fix vertical flyaways when rangefinder stops providing data 2020-06-24 21:16:50 +09:00
Dr.-Ing. Amilcar do Carmo Lucas 280d33d030 AP_NavEKF2: reduce duplicated code. 2020-06-24 21:16:50 +09:00
Paul Riseborough 11a0fef3d0 AP_NavEKF2: Fix indent 2020-06-24 21:16:50 +09:00
Paul Riseborough fc18ee91df AP_NavEKF2: Add missing fallback to baro for range beacon use case 2020-06-24 21:16:50 +09:00
Paul Riseborough d118c8fc38 AP_NavEKF2: Fix range aid switching logic
Clarifies use of EK2_RANGE_USE_HGT and EK2_ALT_SOURCE parameters to control range finder use.
Setting EK2_RNG_USE_HGT to a positive number to enable automatic switching between the primary height source (baro or GPS) and range finder should be disabled if any primary height source other than Baro or GPS is selected via the EK2_ALT_SOURCE parameter.
2020-06-24 21:16:50 +09:00
Pierre Kancir 9bbd2b19c2 AP_NavEKF2: add --debug-ekf to debug the EKF 2020-06-20 19:59:05 +10:00
Randy Mackay 989ffb79cd AP_NavEKF2: minor format fix 2020-06-19 13:46:52 +09:00
Randy Mackay 966d59a26d AP_NavEKF2: protect against ExtNav being NaN 2020-06-19 13:46:52 +09:00
chobits f5f403947c AP_NavEKF2: clarify POSNE_M_NSE desc 2020-06-09 20:44:57 +09:00
chobits e64c92b322 AP_NavEKF2: use err info from ext nav interface 2020-06-09 13:31:21 +09:00
Randy Mackay 6c10655059 AP_NavEKF2: accept extnav at up to 50hz 2020-06-09 09:42:14 +10:00
Peter Barker b02d9abd32 AP_NavEKF2: avoid compiler warnings from -Wclass-memaccess
../../libraries/AP_NavEKF2/AP_NavEKF2_core.cpp: In member function ‘void NavEKF2_core::InitialiseVariables()’:
../../libraries/AP_NavEKF2/AP_NavEKF2_core.cpp:343:50: warning: ‘void* memset(void*, int, size_t)’ clearing an object of non-trivial type ‘struct NavEKF2_core::ext_nav_vel_elements’; use assignment or value-initialization instead [-Wclass-memaccess]
  343 |     memset(&extNavVelNew, 0, sizeof(extNavVelNew));
      |                                                  ^
In file included from ../../libraries/AP_NavEKF2/AP_NavEKF2_core.cpp:4:
../../libraries/AP_NavEKF2/AP_NavEKF2_core.h:518:12: note: ‘struct NavEKF2_core::ext_nav_vel_elements’ declared here
  518 |     struct ext_nav_vel_elements {
      |            ^~~~~~~~~~~~~~~~~~~~
../../libraries/AP_NavEKF2/AP_NavEKF2_core.cpp:344:58: warning: ‘void* memset(void*, int, size_t)’ clearing an object of non-trivial type ‘struct NavEKF2_core::ext_nav_vel_elements’; use assignment or value-initialization instead [-Wclass-memaccess]
  344 |     memset(&extNavVelDelayed, 0, sizeof(extNavVelDelayed));
      |                                                          ^
In file included from ../../libraries/AP_NavEKF2/AP_NavEKF2_core.cpp:4:
../../libraries/AP_NavEKF2/AP_NavEKF2_core.h:518:12: note: ‘struct NavEKF2_core::ext_nav_vel_elements’ declared here
  518 |     struct ext_nav_vel_elements {
      |            ^~~~~~~~~~~~~~~~~~~~
2020-06-05 08:42:45 +10:00
chobits dee095b4a4 AP_NavEKF2: support VISION_SPEED_ESTIMATE 2020-06-01 17:51:24 +09:00
Peter Barker 19dc07250d AP_NavEKF2: clarify yaw reset error message
The current wording can be taken to indicate that the mag sensors
stopped, causing this issue.
2020-05-26 10:05:35 +10:00
Paul Riseborough af19fea268 AP_NavEKF2: Fix 3-axis mag fusion per axis error handling
Ensure that if fusion checks for an axis fails, fusion will not be perfomred for all axes.
2020-05-20 15:09:32 +10:00
Andy Piper 9f02b1b1a8 AP_NavEKF2: fix typo in comment
Signed-off-by: Dr.-Ing. Amilcar do Carmo Lucas <amilcar.lucas@iav.de>
2020-05-20 07:29:31 +09:00
Randy Mackay f26a2a47b4 AP_NavEKF2: writeExtNavData accepts delay 2020-05-15 10:07:52 +09:00
Paul Riseborough c94de61e29 AP_NavEKF2: Don't perform emergency yaw reset unless commanded externally
This limits the use of the reset to situations where it is a last ditch resort before a lane switch and failsafe.
This will limit false positives for general deployment, but still provide protection from fly-aways at the cost of some increase in reaction time.
2020-05-14 10:40:48 +10:00
chobits a7aa43f5d5 AP_NavEKF2: ext nav will not reset yaw if compass is used 2020-05-14 08:04:55 +09:00
Randy Mackay b95bc9076b AP_NavEKF2: fix getLLH when no GPS 2020-05-10 15:35:55 +10:00
Andrew Tridgell c9ffe8dcea AP_NavEKF2: use set_enable() to set enable flag 2020-04-29 07:36:55 +10:00
Paul Riseborough e1f27054d5 AP_NavEKF2: Don't use geomag data when user specifies declination 2020-04-28 11:42:31 +09:00
Randy Mackay 90db3d6317 AP_NavEKF2: minor comment fix 2020-04-27 19:15:43 +09:00
Randy Mackay 2919491298 AP_NavEKF2: getLLH fix when no GPS available 2020-04-24 20:29:18 +09:00
Randy Mackay 6e93f54cff AP_NavEKF2: handle external nav position resets 2020-04-24 18:16:52 +09:00
Randy Mackay 990313371d AP_NavEKF2: minor comment fixes 2020-04-24 18:16:52 +09:00
Randy Mackay 43c9e13372 AP_NavEKF2: rename HGT_SOURCE_EV to HGT_SOURCE_EXTNAV
presumably EV stands for ExternalVision but we normally refer to this source as External Nav
2020-04-24 18:16:52 +09:00
Randy Mackay 014c889ceb AP_NavEKF2: setAidingMode uses lastExtNavPassTime_ms 2020-04-24 18:16:52 +09:00
Randy Mackay 3b20623a31 AP_NavEKF2: remove unused ext nav elements 2020-04-24 18:16:52 +09:00
Peter Barker 7dfc285f2a AP_NavEKF2: remove incorrect units from yaw esimtator LoggerMessage 2020-04-24 18:08:14 +10:00
Andrew Tridgell d8c533e7ab AP_NavEKF2: added missing log documentation for field C 2020-04-24 09:43:23 +10:00
Paul Riseborough 8f1b732d79 AP_NavEKF2: Add documentation for GSF logging 2020-04-24 09:43:23 +10:00
Paul Riseborough 49e4c799d3 AP_NavEKF2: Use unique names for EKF2 logging 2020-04-24 09:43:23 +10:00
Randy Mackay 4d7e7a960a AP_NavEKF2: more white space fixes 2020-04-24 09:43:23 +10:00
Randy Mackay 0fb233ed4b AP_NavEKF2: minor comment fixes 2020-04-24 09:43:23 +10:00
Randy Mackay a9cbd5aa29 AP_NavEKF2: getDataEKFGSF and getYawData pass by reference 2020-04-24 09:43:23 +10:00
Randy Mackay d61c517e76 AP_NavEKF2: minor format fix 2020-04-24 09:43:23 +10:00
Randy Mackay 91ef87064a AP_NavEKF2: rename GSF_RUN_MASK, GSF_USE_MASK, GSF_RST_MAX 2020-04-24 09:43:23 +10:00
Paul Riseborough abc821ad36 AP_NavEKF2: Split GSF yaw estimator processing
Separate prediction and correction steps are required to provide an up to date yaw estimate using IMU prediction before it may be required by SelectMagFusion() whilst still doing the velocity update after GPS data haw been pulled from the buffer by SelectVelPosFusion()
2020-04-24 09:43:23 +10:00