Paul Riseborough
b9abef37c3
AP_NavEKF3: Reset to GPS yaw if fusion times out when on ground.
2021-05-11 10:37:08 +10:00
Peter Barker
f4591faeed
AP_NavEKF3: simplify taking of GPS measurements
2021-03-23 15:11:33 +11:00
Paul Riseborough
1018801522
AP_NavEKF3: White space and comment fixes
2021-03-23 10:05:59 +11:00
Paul Riseborough
7113387d27
AP_NavEKF3: Use better defined data type
2021-03-23 10:05:59 +11:00
Paul Riseborough
ac87cab6bc
AP_NavEKF3: constify array index variable
2021-03-23 10:05:59 +11:00
Paul Riseborough
1498b516a3
AP_NavEKF3: Don't try to learn gyro biases that are poorly observable
2021-03-23 10:05:59 +11:00
Paul Riseborough
44be7161c0
AP_NavEKF3: Reduce yaw drift when operating without external aiding
...
Also fixes bug in the determination of the total angular variance threshold for when to fuse a zero innovation yaw measurement.
2021-03-23 10:05:59 +11:00
Paul Riseborough
53c4b163ce
AP_NavEKF3: Allow adjustment of on ground not moving test sensitivity
...
Also re-tune default sensitivity based on user supplied logs with noisy gyro data.
2021-03-23 10:05:59 +11:00
Paul Riseborough
e7b08c1ffc
AP_NavEKF3: Update log message format description
2021-03-23 10:05:59 +11:00
Paul Riseborough
918606e71d
AP_NavEKF3: Don't use fake measurements to learn dvel bias
2021-03-23 10:05:59 +11:00
Paul Riseborough
c709ad9c80
AP_NavEKF3: Add missing axis specific dvel bias update inhibit
2021-03-23 10:05:59 +11:00
Paul Riseborough
073e273732
AP_NavEKF3: Don't allow yaw alignment until tilt alignment completed
2021-03-23 10:05:59 +11:00
Paul Riseborough
a07427fd30
AP_NavEKF3: Don't learn poorly observed IMU dvel bias states before flight
2021-03-23 10:05:59 +11:00
priseborough
4b1c334bba
AP_NavEKF3: improve stability of co-variance matrix processing
...
This patch prevents the delta velocity bias state variances collapsing due to insufficient process noise and causing bad bias estimates to form.
2021-03-23 10:05:59 +11:00
murata
c5b1c832ba
AP_NavEKF3: Change misnomer (NFC)
2021-03-15 18:21:15 +11:00
Peter Barker
4605870788
AP_NavEKF3: remove separate calls to get delta-times for vel and ang
2021-03-13 11:29:29 +11:00
Paul Riseborough
e3eea0a54a
AP_NavEKF3: Use specialised function for in-flight plane yaw alignment
2021-03-05 12:10:01 +11:00
Paul Riseborough
4675aea0bf
AP_NavEKF3: Update parameter description
2021-03-05 12:10:01 +11:00
Paul Riseborough
246b80dc06
AP_NavEKF3: Don't return a 0,0 lat,lng unless absolutely necessary
2021-03-05 12:10:01 +11:00
Paul Riseborough
a50be71b41
AP_NavEKF3: Fix inconsistency in reporting raw GPS position validity
2021-03-05 12:10:01 +11:00
Paul Riseborough
6a603019d5
AP_NavEKF3: Add accessor function for yaw alignment status
2021-03-05 12:10:01 +11:00
Paul Riseborough
3634a942a1
AP_NavEKF3: Fix bug causing unwanted use of default airspeed
2021-03-05 12:10:01 +11:00
Paul Riseborough
912db3512e
AP_NavEKF3: Fix EKF selection bug
2021-03-05 12:10:01 +11:00
Paul Riseborough
85c0040fa3
AP_NavEKF3: Improve inFlight detection for fixed wing
...
Better handle case where no airspeed sensor is being used with a hand launch.
2021-03-05 12:10:01 +11:00
Paul Riseborough
295c1e1308
AP_NavEKF3: Reset covariances when falling back to non aiding mode
2021-03-05 12:10:01 +11:00
Paul Riseborough
adae7365e1
AP_NavEKF3: Fix LLH reporting bug
2021-03-05 12:10:01 +11:00
Paul Riseborough
ddadc45854
AP_NavEKF3: Reset states when falling back into non aiding mode.
2021-03-05 12:10:01 +11:00
Paul Riseborough
b92eca7b66
AP_NavEKF3: Select startup aiding mode after landing without yaw sensor
2021-03-05 12:10:01 +11:00
Paul Riseborough
9a5a264aa0
AP_NavEKF3: Improve wind estimation without airspeed sensing
...
Enable default airspeed variance to be specified externally
Improve control of sideslip fusion
Don't modify non wind states unnecessarily when using synthesised air data measurements
2021-03-05 12:10:01 +11:00
murata
ae565aef1a
AP_NavEKF3: Change misnomer (NFC)
2021-03-03 20:49:55 +11:00
Iampete1
8173cd442a
AP_NavEKF3 log position offset as float in meters
2021-03-02 10:03:12 +11:00
Paul Riseborough
0971ef55a4
AP_NavEKF3: Fix bug preventing EKFGSF running when needed for reset
...
The gpsAccuracyGood flag should not be used because it will go false if GPS innovations become high due to bad yaw which is when the EKFGSF is required. to keep running.
2021-03-02 07:28:24 +11:00
Peter Barker
65b780fad5
AP_NavEKF3: move GSF logging from EKF files into GSF files
2021-02-23 12:36:33 +11:00
Patrick José Pereira
3b0dac3198
AP_NavEKF3: Simplify boolean expression
...
Signed-off-by: Patrick José Pereira <patrickelectric@gmail.com>
2021-02-23 10:30:05 +11:00
Paul Riseborough
342e6b35fa
AP_NavEKF3: Fix use of incorrect ballistic coefficient parameter
2021-02-22 13:21:03 +09:00
Paul Riseborough
7370cd9f00
AP_NavEKF3: Fix typo and update parameter description
2021-02-22 13:21:03 +09:00
Randy Mackay
1814524fcb
AP_NavEKF3: fix using_external_yaw when using external nav
...
the first if would always return true meaning the method would always return false when using external nav
thanks to David Sastre for finding this!
2021-02-09 11:35:39 +11:00
Randy Mackay
f6cb0819ef
AP_NavEKF3: pre_arm_check may skip position checks
2021-01-26 10:46:49 +11:00
Andrew Tridgell
ddc4d08e8f
AP_NavEKF3: make drag fusion optional
2021-01-24 11:56:52 +11:00
Andrew Tridgell
1ccda938cb
AP_NavEKF3: make external navigation optional
2021-01-24 11:56:52 +11:00
Andrew Tridgell
8da511f039
AP_NavEKF3: make body odomotry build depend on vehicle type
...
saves about 11k of flash
2021-01-24 11:56:52 +11:00
Peter Barker
3582b69e9c
AP_NavEKF3: remove getFilterTimeouts access methods
2021-01-22 13:04:36 +11:00
Peter Barker
b3bacdd33c
AP_NavEKF3: remove internal-only getTiltError method
2021-01-21 21:26:17 +11:00
Peter Barker
5ad0ac6727
AP_NavEKF3: remove unused getAccelNED method
2021-01-21 21:26:17 +11:00
Randy Mackay
4492e5024c
AP_NavEKF3: enable ekf3 by default
2021-01-16 08:24:23 +09:00
Andy Piper
099d6aa72e
AP_NavEKF3: add filter reset when vehicle is idle for too long
2021-01-15 15:47:20 +11:00
chobitsfan
26a3a02c81
AP_NavEKF3: use posxy_source in all places
2021-01-14 16:49:12 +09:00
chobits
e73d28fe19
AP_NavEKF3: remove redundant extnav code
2021-01-12 21:56:36 +09:00
Andrew Tridgell
59fa794818
AP_NavEKF3: constrain vertical error
...
this prevents a floating point exception with external AHRS
2021-01-05 21:13:12 +11:00
Randy Mackay
647c568ab9
AP_NavEKF3: out-of-date comments removed
...
GPS, Static and ExtNav yaw buffers have been separated
2021-01-05 10:58:06 +11:00
Randy Mackay
27c998ad94
AP_NavEKF3: rename source and yawFusionMethod from EXTERNAL to GPS
2021-01-05 10:58:06 +11:00
Randy Mackay
c14b4a8b6c
AP_NavEKF3: add support for GSF as yaw source
2021-01-05 10:58:06 +11:00
Randy Mackay
5891c6ace8
AP_NavEKF3: separate GPS yaw from ExtNav yaw
2021-01-05 10:58:06 +11:00
Randy Mackay
6850b48ea1
AP_NavEKF3: add comments for yaw sensor variables
2021-01-05 10:58:06 +11:00
Andrew Tridgell
e747edbcf2
AP_NavEKF3: fixed init order for scheduler
...
this can impact replay of EKF2
2021-01-02 10:30:26 +11:00
Randy Mackay
39be85cef4
AP_NavEKF3: integrate Source loss of init
2020-12-21 16:56:38 +09:00
Peter Barker
6dfd2f2ff9
AP_NavEKF3: use use_EKFGSFYaw to reduce code duplication
2020-12-17 16:00:29 +09:00
Randy Mackay
a2cca60beb
AP_NavEKF3: constify EKFGSF_getYaw
2020-12-16 19:18:29 +11:00
Randy Mackay
0c3fcfd9d6
AP_NavEKF3: add missing break to case statements
2020-12-16 19:18:29 +11:00
Randy Mackay
9cb529cfd6
AP_NavEKF3: minor formatting fix
...
also replace tab with spaces
2020-12-16 19:18:29 +11:00
Paul Riseborough
908b348c31
AP_NavEKF3: Fix typo in enum label
2020-12-15 19:29:16 +11:00
Randy Mackay
e819dbdd64
AP_NavEKF3: add EKFGSF_getYaw to reduce duplicate code
2020-12-15 19:29:16 +11:00
Randy Mackay
c2edae905f
AP_NavEKF3: simplify logic when updating yawAngDataStatic
2020-12-15 19:29:16 +11:00
Randy Mackay
843ddb4fdc
AP_NavEKF3: minor format fix
2020-12-15 19:29:16 +11:00
Paul Riseborough
a9e76d44af
AP_NavEKF3: Clean up yaw fusion logic
2020-12-15 19:29:16 +11:00
Paul Riseborough
ccfd89240b
AP_NavEKF3: Fix error in calculation of static 312 order yaw reference
2020-12-15 19:29:16 +11:00
Dr.-Ing. Amilcar do Carmo Lucas
f77ab30f7a
Revert "AP_NavEKF3: Remove unsupported parameter unit descriptions"
...
This reverts commit 4f4a2f446d
.
Makes more sense to add those to the list of supported units
2020-12-15 18:22:36 +11:00
Paul Riseborough
8f32430294
AP_NavEKF3: Fix white spaces
2020-12-11 15:21:41 +11:00
Paul Riseborough
bdc202378a
AP_NavEKF3: fix white space
2020-12-11 15:21:41 +11:00
Paul Riseborough
ed17d8e48f
AP_NavEKF3: Improve parameter display names
2020-12-11 15:21:41 +11:00
Paul Riseborough
171f0b399f
AP_NavEKF3: Remove commented code
2020-12-11 15:21:41 +11:00
Andrew Tridgell
b86c014400
AP_NavEKF3: rename drag parameters to start with EK3_DRAG_
2020-12-11 15:21:41 +11:00
Paul Riseborough
47d4506e68
AP_NavEKF3: Add drag and sideslip innovation logging
2020-12-11 15:21:41 +11:00
Paul Riseborough
4884476c09
AP_NavEKF3: Formatting and comment fixes
2020-12-11 15:21:41 +11:00
Andrew Tridgell
be4d10a95e
AP_NavEKF3: rework parameter handling
...
and fixed indentation
2020-12-11 15:21:41 +11:00
Paul Riseborough
5da62aeaa2
AP_NavEKF3: Fix CI build errors
2020-12-11 15:21:41 +11:00
Paul Riseborough
0d2c235027
AP_NavEKF3: Fix #define typo
2020-12-11 15:21:41 +11:00
Paul Riseborough
ab05e8ed4a
AP_NavEKF3: Update param descriptions
2020-12-11 15:21:41 +11:00
Paul Riseborough
4f4a2f446d
AP_NavEKF3: Remove unsupported parameter unit descriptions
2020-12-11 15:21:41 +11:00
Paul Riseborough
c9ab4b18b0
AP_NavEKF3: Add multicopter wind estimation
2020-12-11 15:21:41 +11:00
Andrew Tridgell
ac4a05ffbf
AP_NavEKF3: fixed null dereference of airspeed
...
this caused a segfault in replay
2020-12-11 14:22:46 +11:00
Andrew Tridgell
2071a19a40
AP_NavEKF3: only fuse airspeed if healthy
2020-12-11 09:59:49 +11:00
Peter Barker
58f6570755
AP_NavEKF3: stop using QUAT_* defines from AP_Logger/LogStructure.h
...
The EKFs logging is independant so we can kill EKF2...
Also use correct structure for logging XKF1; these structures were
identical.
2020-12-08 11:30:10 +11:00
chobits
013b39d2a6
AP_NavEKF3: fix ext nav vel timestamp cal
2020-12-07 08:54:42 +09:00
Peter Barker
287e9350a5
AP_NavEKF3: move log message IDs in from AP_Logger LogStructure
2020-12-03 19:22:26 +11:00
Peter Barker
79109458c2
AP_NavEKF3: move EKF3 logging structures into EKF3 LogStructure.h
2020-12-03 19:22:26 +11:00
Andrew Tridgell
bdba430e55
AP_NavEKF3: save memory on beacon debug structure
...
only allocate when beacons are enabled. This relies on a guarantee in
the DAL that the beacon count cannot change
2020-12-01 10:53:08 +11:00
Andrew Tridgell
bb32f1a397
AP_NavEKF3: avoid initialising unused ring buffers
...
this assumes the nav sources are treated as reboot required
2020-12-01 10:53:08 +11:00
Peter Barker
e972fb31b1
AP_NavEKF3: remove unused variables
2020-12-01 10:40:09 +11:00
Peter Barker
0529ddcd67
AP_NavEKF3: move badMagYaw onto stack
2020-12-01 10:40:09 +11:00
Peter Barker
2885026bba
AP_NavEKF3: move tasHealth to be a stack variable
2020-12-01 10:40:09 +11:00
Peter Barker
b79a26135c
AP_NavEKF3: move posvel fusion health booleans to be on the stack
2020-12-01 10:40:09 +11:00
Peter Barker
2d25149e2e
AP_NavEKF3: move global state to be on the stack
2020-12-01 10:40:09 +11:00
Andrew Tridgell
d242339f2e
AP_NavEKF3: added have_vz flag to GPS buffer data
...
this ensures that we record GPS vertical velocity status for every
sample correctly
2020-12-01 10:33:50 +11:00
Andrew Tridgell
80f7906744
AP_NavEKF3: removed inhibitGps and inhibitGpsVertVel options
...
these were unused
2020-12-01 10:33:50 +11:00
Andrew Tridgell
603e0c090d
AP_NavEKF3: don't reset EKx_GPS_TYPE when GPS has no vertical velocity
...
setting the parameter to 1 causes the following issues:
- the GPS may not have vertical velocity at the time the parameter
set happens, but may get it later when the GPS is fully configured
- we may switch between GPS modules which do/don't have vertical
velocity
- the user may download parameters after the set(1), and end up with
incorrect parameters they may later load onto the vehicle,
permanently disabling use of vertical velocity
2020-12-01 10:33:50 +11:00
Peter Barker
52b8b95a72
AP_NavEKF3: rearrange readGPSData to remove some nesting
2020-11-30 11:51:12 +11:00
Randy Mackay
4cd1c3cfde
AP_NavEKF3: param conversion loses config_error
...
config_error should only be run as part of setup because it may never return
2020-11-27 08:20:07 +09:00
Randy Mackay
adfc92523b
AP_NavEKF3: add configuredToUseGPSForPosXY
2020-11-25 21:00:07 +11:00
Andrew Tridgell
7eea13f86f
AP_NavEKF3: fixed build of standalone replay link test
...
parameter conversion not needed for replay
2020-11-24 20:46:37 +11:00