Peter Barker
1d353d0be9
AP_NavEKF2: remove misleading comment about local variable names
...
these "local" variables are actually aliases into a global structure
2023-01-25 19:58:54 +11:00
Henry Wurzburg
5e6447e893
AP_NavEKF2: update and correct GSF parameter documentation
2022-02-15 10:56:35 +11:00
Josh Henderson
d5f5a3024a
AP_NavEKF2: use vector.xy().length() instead of norm(x,y)
2021-09-14 10:43:46 +10:00
Andrew Tridgell
6aca0bb08a
AP_NavEKF2: allow for double EKF build
2021-07-10 07:20:41 +10:00
Siddharth Purohit
124eaf1a38
AP_NavEKF2: use first usable compass index to set magSelectIndex
2021-06-02 17:10:19 +10:00
murata
a5b6ce9220
AP_NavEKF2: Change misnomer (NFC)
2021-03-19 17:49:27 +11:00
murata
af639f7812
AP_NavEKF2: Change misnomer (NFC)
2021-03-03 20:49:55 +11:00
Peter Barker
addd57dcab
AP_NavEKF2: move badMagYaw onto stack
2020-12-01 10:40:09 +11:00
Paul Riseborough
248ef92ed7
AP_NavEKF2: Add velocity innovation check to use of EKF-GSF yaw
...
Only apply to non fly forward vehicle, eg copters, because magnitude of velocity innovation produced by plane launches is TBD.
2020-11-16 16:01:13 +11:00
Andrew Tridgell
6be3d19e82
AP_NavEKF2: convert to use AP_DAL for new replay structure
...
Co-authored-by: Peter Barker <pbarker@barker.dropbear.id.au>
2020-11-10 16:15:45 +11:00
Paul Riseborough
da7bb44a61
AP_NavEKF2: Consolidate magnetometer timeout checks
2020-09-08 11:01:14 +10:00
Peter Barker
032b7c81e5
AP_NavEKF2: correct includes
2020-08-07 19:20:07 +10:00
chobits
e64c92b322
AP_NavEKF2: use err info from ext nav interface
2020-06-09 13:31:21 +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
Randy Mackay
990313371d
AP_NavEKF2: minor comment fixes
2020-04-24 18:16:52 +09: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
Andrew Tridgell
6c3889b04f
AP_NavEKF2: fixed typos
2020-04-24 09:43:23 +10:00
Paul Riseborough
0d965d2a1c
AP_NavEKF2: Fix timer wrapping bugs
...
Also replaces tab characters
2020-04-24 09:43:23 +10:00
Paul Riseborough
de0040ad69
AP_NavEKF2: Enable use of EKF-GSF yaw estimate
...
Enables the yaw to be reset in flight to a value estimated from a specialised yaw estimator. This allows faster recovery if taking off with a bad magnetometer and also allows yaw alignment and GPS use to commence in-air when operating without any yaw sensing.
AP_NavEKF2: Add missing accesor functions for default airspeed
2020-04-24 09:43:23 +10:00
Andrew Tridgell
f7e138bddd
AP_NavEKF2: use parent class for intermediate static variables
...
this makes the code faster as well as using less memory when both EK2
and EK3 are enabled
2019-10-01 15:39:03 +10:00
Andrew Tridgell
d40d812ea4
AP_NavEKF2: fixed build with g++ 9.1
...
this is a false positive, but the cost of clearing this array is low,
and it saves a much more complex fix
2019-09-24 14:59:17 +10:00
Andrew Tridgell
255981c60c
AP_NavEKF2: moved some of the intermediate vars to the stack
...
this keeps stack frames below 1k, while giving faster access to the
variables and saving more memory
2019-09-24 12:51:54 +10:00
Andrew Tridgell
e9ed3540f1
AP_NavEKF2: constrain field by table after fusion
...
this should make for faster convergence
2019-06-03 12:21:29 +10:00
Andrew Tridgell
3835d2613e
AP_NavEKF2: added EK2_MAG_EF_LIM parameter
...
this sets a limit on the difference between the earth field from the
WMM tables and the learned earth field inside the EKF. Setting it to
zero disables the feature. A positive value sets the limit in mGauss.
2019-06-03 12:21:29 +10:00
Arjun Vinod
78b165e36f
AP_NavEKF2: fixed typos
2019-02-26 08:33:39 +11:00
Arjun Vinod
a0e7c37f8c
AP_NavEKF2: fixed typos
2019-02-22 10:21:35 +11:00
Tom Pittenger
b32e8a4424
AP_NavEKF2: remove HAL_CPU_CLASS_150 check, 150 is already a minimum requirement
2019-02-17 12:59:52 -08:00
Paul Riseborough
c680b931dc
AP_NavEKF2: Enable fusion of external nav position data
2018-03-27 20:28:42 +09:00
Peter Barker
5da3759ff4
AP_NavEKF2: eliminate GCS_MAVLINK::send_statustext_all
2017-07-11 23:53:53 +01:00
Randy Mackay
7e7f78d4b5
AP_NavEKF2: final mag reset at 2.5m
2017-07-08 08:39:43 +09:00
priseborough
1985dcd366
AP_NavEKF2: Fix bug in declination fusion
2017-06-03 15:16:25 +01:00
Dr.-Ing. Amilcar Do Carmo Lucas
ce37517268
AP_NavEKF2: Improve comments, typos
2017-05-03 08:44:49 +09:00
priseborough
596b20eb07
AP_NavEKF2: close perf counter when doing early return
2017-04-27 20:14:21 +10:00
priseborough
88469ce80c
AP_NavEKF2: Reset covariance if bad mag fusion update
2017-04-27 20:14:21 +10:00
priseborough
a63eac8073
AP_NavEKF2: Add missing perf_end
2017-01-27 16:57:42 +09:00
Dr.-Ing. Amilcar Do Carmo Lucas
d408d25f92
More spelling stuff
2017-01-06 10:57:39 -08:00
priseborough
ef03a85cd3
AP_NavEKF2: add range beacon interface and fusion method
2016-11-30 17:56:43 +09:00
Mathieu OTHACEHE
152edf7189
Global: remove mode line from headers
...
Using a global .dir-locals.el file is a better alternative than
reincluding the same emacs header in every file of the project.
2016-10-24 09:42:01 -02:00
Jonathan Challinger
d1ecc63bf1
AP_NavEKF2: change priority of statustext messages
2016-07-29 13:19:51 +09:00
Andrew Tridgell
567d5cdbe6
AP_NavEKF2: use mavlink messages not printf for state change notifications
2016-07-19 12:16:51 +10:00
priseborough
e34cdc6666
AP_NavEKF2: Fix bug preventing planes recovering from bad magnetometers
...
This bug created a race condition whereby if the EKF had to reset the yaw to the GPS ground course to recover from a bad magnetometer, the new heading could be over-written by the bad magnetic heading when the plane reached the height for the scheduled reset.
2016-07-19 12:16:50 +10:00
priseborough
8793c75da0
AP_NavEKF2: clean up mag field learned logic
2016-07-11 00:44:33 +10:00
priseborough
10470b2dc1
AP_NavEKF2: fix bug in initialisation of declination co-variances
...
Co-variances were being re-zeroed after being set. This meant that the initial declination learning was sensitive to measurement errors which could result in poor initial yaw accuracy.
2016-07-10 08:21:18 +10:00
priseborough
6b04a81b8d
AP_NavEKF2: Fix plane in-flight yaw reset bug
...
Fixes bugs that prevented planes being able to reset yaw to GPS to recovery from takeoff with a bad magnetoemter.
1) If the velocity innovation check had not failed by the time the in-air transition occurred, then the yaw reset would not be performed
2) The velocity states were not being reset
3) The non fly-forward vehicle (copter) reset could occur first and effectively lock out the fly-forward vehicle (plane) yaw check.
2016-07-10 08:21:18 +10:00
priseborough
51dbed2338
AP_NavEKF2: remember mag field states between flight on same power cycle
...
Remember the mag bias and earth field states learned during flight when the vehicle lands.
This improves performance for vehicles that do multiple flight on one power cycle
2016-07-10 08:21:18 +10:00
priseborough
136df7cb5c
AP_NavEKF2: reduce declination errors on start of 3-axis fusion
...
Reset co-variances for NE field states.
2016-07-10 08:21:18 +10:00
priseborough
191c34612d
AP_NavEKF2: Fix bug in use of corrected IMU data
...
IMU data was being corrected before being used by the co-variance prediction, whereas the delta angles and velocities in the derivation were supposed to be uncorrected.
This patch creates separate variable for the corrected data
2016-07-09 15:57:35 +10:00
Paul Riseborough
4a8689aa97
AP_NavEKF2: remove duplicate if statements from mag fusion
2016-06-28 14:20:13 +10:00