Andrew Tridgell
da7dc71195
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
2020-02-05 10:10:20 +11:00
Andrew Tridgell
6ffffff8c6
AP_NavEKF3: moved intermediate variables to common memory
...
this moves intermediate variables from being per-core to being common
between cores. This saves memory on systems with more than one core by
avoiding allocating this memory on every core.
This is an alternative to #11717 which moves memory onto the stack. It
doesn't save as much memory as #11717 , but avoids creating large stack
frames
2020-02-05 10:09:00 +11:00
Andrew Tridgell
a48d97c307
AP_NavEKF2: moved intermediate variables to common memory
...
this moves intermediate variables from being per-core to being common
between cores. This saves memory on systems with more than one core by
avoiding allocating this memory on every core.
This is an alternative to #11717 which moves memory onto the stack. It
doesn't save as much memory as #11717 , but avoids creating large stack
frames
2020-02-05 10:08:10 +11:00
Andrew Tridgell
43df0022e1
use common variables for EKF
2019-10-06 10:58:07 +11:00
Andrew Tridgell
9ad9fe42bc
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-06 10:58:07 +11:00
Michael du Breuil
a4d10b2e86
AP_NavEKF2: Allow the GPS to be responsible for logging
2019-09-10 09:09:17 +10:00
hoangthien94
fc9ff2b09a
AP_NavEKF2: add method to check if ext nav is used for yaw
2019-08-03 08:44:11 +09:00
Andrew Tridgell
e7163afe06
AP_NavEKF2: review fixes
...
thanks Paul!
2019-07-29 10:08:22 +10:00
Andrew Tridgell
742ae0b750
AP_NavEKF2: set origin on all cores
...
when EKF origin is set, make sure it is set on all cores
2019-07-29 10:08:22 +10:00
Andrew Tridgell
5db41147ed
AP_NavEKF2: restrict setting of EKF origin
...
only allow EKF origin to be set if EKx_GPS_TYPE is set to 3, which is
used for indoor operation
2019-07-29 10:08:22 +10:00
Andrew Tridgell
567c902e75
AP_NavEKF2: force first EKF lane when disarmed
...
this ensures we consistently fly with EKF lane1 if it is healthy at
the point we arm. Otherwise the choice of lane will be a lottery.
This is important as many systems have quite different filtering and
vibration characteristics on their different IMUs. We by default
enable fast sampling only on the first IMU for example, which means
the 2nd and 3rd IMUs are more vulnerable to high freq causing
aliasing.
2019-07-04 06:48:23 +10:00
Michael du Breuil
892b687c09
AP_NavEKF2: Fix AP_GPS.h include
2019-06-18 10:02:05 +10:00
Andrew Tridgell
3073c4da7a
AP_NavEKF2: added checkLaneSwitch()
...
this allows the vehicle code to ask the EKF to change lanes if it is
about to do an EKF failsafe
2019-06-12 09:52:20 +10:00
Andrew Tridgell
df4fc0fff0
AP_NavEKF2: default EK2_MAG_EF_LIM to 50
...
this was supposed to be part of the original PR (agreed with Paul to
enable by default)
2019-06-08 20:24:58 +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
Andrew Tridgell
cc62998d40
AP_NavEKF2: fixed bug in EKF lane selection
...
this fixes an issue in selecting the best lane to change to when we
have 3 or more EKF cores. The bug is that if the current lane is
unhealthy it would always choose the last healthy lane instead of
choosing the lane with the lowest score
2019-05-07 06:59:50 +10:00
Michael du Breuil
7f639c1bb2
AP_NavEKF2: Allow checking all cores for failure
2019-04-09 10:53:25 +10:00
Paul Riseborough
8038efc152
AP_NavEKF2: Flow use parameter updates
2019-04-02 10:51:12 +11:00
Paul Riseborough
e2148e7e2a
AP_NavEKF2: Update default plane optical flow param values
...
Reduce time required to form estimate of terrain offset
2019-04-02 10:51:12 +11:00
Paul Riseborough
67d20f3b3c
AP_NavEKF2: Update parameter description
2019-04-02 10:51:12 +11:00
Paul Riseborough
1862512c2b
AP_NavEKF2: Use flow sensor for navigation with unknown platform type
...
This is the more common use case.
2019-04-02 10:51:12 +11:00
Paul Riseborough
921205f61c
AP_NavEKF2: Minor amendments from review
2019-04-02 10:51:12 +11:00
Paul Riseborough
a40208ebd4
AP_NavEKF2: Improve optical flow height estimation
...
Updated derivation using sequential fusion of Y and X axis data.
2019-04-02 10:51:12 +11:00
Paul Riseborough
2b8b53d6b2
AP_NavEKF2: Add parameter to control how optical flow flow data is used
2019-04-02 10:51:12 +11:00
Mark Whitehorn
6b70181837
AP_NavEKF2: add getQuaternionBodyToNED
2019-03-29 10:58:00 +11:00
Tom Pittenger
8506ae9c32
AP_NavEKF2: rename dataflash to logger
2019-03-28 16:40:57 +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
Tom Pittenger
8a6a39b590
AP_NavEKF3: unify singleton naming to _singleton and get_singleton()
2019-02-10 19:09:58 -07:00
chobits
3766ee1b60
AP_NavEKF2: add external navigation data lag
2019-01-31 08:30:22 +09:00
Peter Barker
6fc76a32af
GLOBAL: use AP::logger() and strip redundant Log_ from methods
2019-01-18 18:08:20 +11:00
Peter Barker
b47733142f
GLOBAL: rename DataFlash_Class to AP_Logger
2019-01-18 18:08:20 +11:00
Randy Mackay
c616587b86
AP_NavEKF: increase ABIAS_P_NSE param doc range to 0.005
2018-12-27 14:09:53 +09:00
Michael du Breuil
29db069c75
AP_NavEKF2: Suppress clearing non-trival type warning
2018-10-30 16:17:03 -07:00
chobitsfan
1e56ad4837
AP_NavEKF2: add external nav system to POSNE_M_NSE description
2018-10-24 19:14:54 +09:00
Peter Barker
889190d46e
AP_NavEKF2: always set EKF control limits, even with no cores
2018-10-09 10:47:38 +11:00
Peter Barker
d8aa8d2b71
AP_NavEKF2: fix writeOptFlowMeas signature
...
const some of the vectors, stop taking references to scalars that aren't
being changed
2018-09-11 09:03:22 +10:00
Michael du Breuil
ee9cc28fda
AP_NavEKF2: Utilize the GPS drivers estimate for lag
2018-08-07 09:55:26 +10:00
Randy Mackay
3d72022f6e
EKF: modify ALT_SOURCE param description
...
We regularly find users changing the ALT_SOURCE to 1 (range finder) when trying to implement terrain following which is not the correct way to do it
2018-07-18 08:31:09 +09:00
Peter Barker
baa818a812
AP_NavEKF2: use compass singleton for logging
2018-07-04 20:11:27 +01:00
Peter Barker
578facc9ad
AP_NavEKF2: do not pass GPS into Log_Write_GPS; it uses singleton
2018-04-18 13:50:55 +09:00
Peter Barker
81044760c7
AP_NavEKF2: const accessors
2018-04-04 12:20:36 +01:00
Paul Riseborough
c680b931dc
AP_NavEKF2: Enable fusion of external nav position data
2018-03-27 20:28:42 +09:00
Peter Barker
40957ec430
AP_NavEKF2: use ins singleton
2018-03-16 00:37:35 -07:00
Peter Barker
5ab89324b2
AP_NavEKF2: use baro singleton
2018-03-08 21:20:05 -08:00
Peter Barker
5b7d5a9757
AP_NavEKF2: mark getEulerAngles as const
2018-03-07 12:34:39 +00:00
Peter Barker
3a99b2bce1
AP_NavEKF: move initialisation of EKF constants into header file
...
Various comments where getting out of sync with one-another, and
having everything in one place lets you match values against types.
2018-03-01 20:27:19 +09:00
bugobliterator
b1213a522d
AP_NavEKF2: allocate NavEKF core from MEM_FAST region
2018-01-15 11:46:02 +11:00
Peter Barker
9c8466dc03
AP_NavEKF2: use GPS singleton
2017-12-27 00:58:02 +00:00
priseborough
efdc651d1a
AP_NavEKF2: Require reboot after changing ALT_SOURCE parameter
...
Toggling between alt sources in flight using the parameter can have unpredictable effects due to the various height offsets and the possibility that the data source may be unavailable.
2017-10-04 00:24:15 +01:00