Andrew Tridgell
0041874826
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
5 years ago
Michael du Breuil
a4d10b2e86
AP_NavEKF2: Allow the GPS to be responsible for logging
5 years ago
hoangthien94
fc9ff2b09a
AP_NavEKF2: add method to check if ext nav is used for yaw
6 years ago
Andrew Tridgell
c57b25b4c9
AP_NavEKF2: ensure that EKF origin stays in sync on all cores
...
this prevents the EKF origin on different cores from being initialised
to different values. A common value is stored in the frontend and used
by a core if it doesn't have an origin
6 years ago
Peter Barker
6a0a466f42
AP_NavEKF2: factor out and logging functions, reuse for 2nd core
6 years ago
Peter Barker
5175d23cc1
AP_NavEKF2: move logging in from AP_Logger
6 years ago
Michael du Breuil
f04e47fc17
AP_NavEKF2: Reduce scope of AP_Baro.h
6 years ago
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
6 years ago
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.
6 years ago
Michael du Breuil
7f639c1bb2
AP_NavEKF2: Allow checking all cores for failure
6 years ago
Paul Riseborough
8038efc152
AP_NavEKF2: Flow use parameter updates
6 years ago
Paul Riseborough
a40208ebd4
AP_NavEKF2: Improve optical flow height estimation
...
Updated derivation using sequential fusion of Y and X axis data.
6 years ago
Paul Riseborough
2b8b53d6b2
AP_NavEKF2: Add parameter to control how optical flow flow data is used
6 years ago
Mark Whitehorn
6b70181837
AP_NavEKF2: add getQuaternionBodyToNED
6 years ago
Arjun Vinod
a0e7c37f8c
AP_NavEKF2: fixed typos
6 years ago
chobits
3766ee1b60
AP_NavEKF2: add external navigation data lag
6 years ago
Peter Barker
d8aa8d2b71
AP_NavEKF2: fix writeOptFlowMeas signature
...
const some of the vectors, stop taking references to scalars that aren't
being changed
7 years ago
Michael du Breuil
ee9cc28fda
AP_NavEKF2: Utilize the GPS drivers estimate for lag
7 years ago
Peter Barker
81044760c7
AP_NavEKF2: const accessors
7 years ago
Paul Riseborough
c680b931dc
AP_NavEKF2: Enable fusion of external nav position data
7 years ago
Peter Barker
5ab89324b2
AP_NavEKF2: use baro singleton
7 years ago
Peter Barker
5b7d5a9757
AP_NavEKF2: mark getEulerAngles as const
7 years ago
Peter Barker
dbe860152d
AP_NavEKF2: tight types on constants
...
This saves ~200 bytes on at stm32 build, at the expense of people having
to watch the type carefully when increasing the values
7 years ago
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.
7 years ago
Andrew Tridgell
4d4e66d825
AP_NavEKF2: removed create() method for objects
...
See discussion here:
https://github.com/ArduPilot/ardupilot/issues/7331
we were getting some uninitialised variables. While it only showed up in
AP_SbusOut, it means we can't be sure it won't happen on other objects,
so safest to remove the approach
Thanks to assistance from Lucas, Peter and Francisco
7 years ago
Andrew Tridgell
4019a167a9
AP_NavEKF2: fixed inverted function setInhibitGpsVertVelUse()
7 years ago
Lucas De Marchi
3c04f4e4d1
AP_NavEKF2: add static create method
7 years ago
priseborough
f2f3067326
AP_NavEKF2: Add interface to control GPS vertical velocity use
8 years ago
priseborough
77d21f72d4
AP_NavEKF2: Allow reporting of origin height for specified instance
8 years ago
priseborough
36e7dfb5f6
AP_NavEKF2: Improve GPS reference height estimator
...
Fix rounding error bug preventing state from updating after initial convergence.
Decouple GPS reference height from published EKf origin height.
Add bitmask parameter to control update and publishing of GPS reference height.
8 years ago
Dr.-Ing. Amilcar Do Carmo Lucas
ce37517268
AP_NavEKF2: Improve comments, typos
8 years ago
Andrew Tridgell
2de8777669
AP_NavEKF2: added inter-EKF scheduling cooperation
...
this changes the stragegy for load levelling between EKF cores so it
works between EK2 and EK3, and with future estimators as well.
It allows us to run EK3 and EK2 at the same time with good scheduling
performance
8 years ago
Andrew Tridgell
ee5c032f27
AP_NavEKF2: added recording of timing statistics
8 years ago
Randy Mackay
b255c7b370
AP_NavEKF: add setOrigin
8 years ago
Andrew Tridgell
9f3c2cb704
AP_NavEKF2: allow access to quaternion for each instance
8 years ago
priseborough
44fa82d58c
AP_NavEKF2: Reference correct derivation
8 years ago
Jacob Walser
e7a34b0fb3
AP_NavEKF2: Add set_baro_alt_noise method
8 years ago
priseborough
1a7b5538e5
AP_NavEKF2: Enable simple heading fusion to be set for specific cores
8 years ago
priseborough
fe69d9a0ea
AP_NavEKF2: remove duplicate include
8 years ago
priseborough
76106889d5
AP_NavEKF2: Prevent unwanted core switch on startup
...
Require primary core to be healthy for 10 seconds before starting selection logic
8 years ago
priseborough
14a0155f5e
AP_NavEKF2: Allow threshold speed for range finder use to be adjusted
8 years ago
Randy Mackay
66a9093cd0
AP_NavEKF2: getRangeBeaconDebug returns false on failure to get beacon data
8 years ago
priseborough
ef03a85cd3
AP_NavEKF2: add range beacon interface and fusion method
8 years ago
Randy Mackay
e9ea06bd10
AP_NavEKF2: minor comment fix
8 years ago
priseborough
0df45703f1
AP_NavEKF2: Fix errors in position reset delta publishing
8 years ago
priseborough
f6021c959d
AP_NavEKF2: capture and publish vertical position reset deltas
...
Calculate the change in vertical position due to a internal EKF state reset or a EKF core switch
8 years ago
Andrew Tridgell
82365f8670
AP_NavEKF2: save some memory in the position offsets in EKF2
...
we don't need to copy that vector3f for every sample. A uint8_t does
the job
8 years ago
priseborough
fd905c23e1
AP_NavEKF2: Add body position offset to optical flow interface
8 years ago
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.
8 years ago
priseborough
ab55991b33
AP_NavEKF2: Report position jumps due to lane switches
...
Also moves code required to update reset data due to lane switches into separate functionscto improve readability.
8 years ago