Paul Riseborough
20923da23a
AP_NavEKF2: Allow tuning of non-GPS mode
...
Eliminate the use of horizontal position states during non-aiding operation to make it easier to tune.
Explicitly set the horizontal position associated Kalman gains to zero and the coresponding covariance entries to zero after avery fusion operation.
Make the horizontal velocity observation noise used during non-aiding operation adjustable.
Use a fixed value of velocity noise during initial alignment so that the flight peformance can be tuned without affecting the initial alignment.
2016-01-13 08:05:39 +11:00
Paul Riseborough
f9cadaf15c
AP_NavEKF2: Increase resolution of innovation consistency gate parameters
...
Also adds protection against setting the gate to a number that would casue numerical errors.
2015-11-18 11:39:53 +11:00
Paul Riseborough
6522fb2621
AP_NavEKF2: Allow user to relax pre-flight GPS checks
2015-11-12 20:39:15 +11:00
Paul Riseborough
577670ccee
AP_NavEKF2: Reduce memory required by 6KB when running at 400Hz
...
Down-sample the IMU and output observer state data to 100Hz for storage in the buffer.
This reduces storage requirements for Copter by 75% or 6KB
It does not affect memory required by plane which already uses short buffers due to its 50Hz execution rate.
This means that the EKF filter operations operate at a maximum rate of 100Hz.
The output observer continues to operate at 400Hz and coning and sculling corrections are applied during the down-sampling so there is no loss of accuracy.
2015-11-10 15:51:18 +11:00
Paul Riseborough
f00b1ff22d
AP_NavEKF2: Publish the magnetometer selection index
2015-11-09 22:07:10 +11:00
Paul Riseborough
0b64ad0123
AP_NavEKF2: Enable EKF instance to be specified when requesting public data
...
Only applied to interfaces required for data logging.
If an invalid instance is requested, the data for the primary instance is returned. This allows the primary data to be returned by calling with a -1 instance value.
2015-11-08 15:37:28 +11:00
Paul Riseborough
6c2dc3ccf8
AP_NavEKF2: Publish the number of instances
2015-11-08 15:37:27 +11:00
Paul Riseborough
2dcaeb0304
AP_NavEKF2: Update publishing of primary core index
...
Changes made in response to review comments
2015-11-08 15:37:27 +11:00
Paul Riseborough
b24507d33c
AP_NavEKF2: Publish the primary EKF index
2015-11-08 15:37:27 +11:00
Andrew Tridgell
2ab2afc86a
AP_NavEKF2: added EK2_IMU_MASK for multiple IMUs
...
no voting between multiple IMUs yet
2015-11-06 10:42:58 +11:00
Paul Riseborough
b6d63d4b4e
AP_NavEKF2: Fix reporting of pre-flight GPS checks
...
Re-order checks so that that less important messages are not hidden when the 40 character buffer overflows
Add required output methods
2015-11-02 14:12:16 +11:00
Randy Mackay
94adaba305
AP_NavEKF2: constify getLastPosNorthEastReset
...
Also constify getLastVelNorthEastReset
2015-10-30 12:24:16 +09:00
Randy Mackay
52ed075405
AP_NavEKF2: constify getLastYawResetAngle
2015-10-30 12:24:12 +09:00
Paul Riseborough
74da4d8e57
AP_NavEKF2: Remove GPS glitch offset logic
...
Correction for steps in position and velocity caused by resets following GPS glitches and other events are now handled by the control loops.
2015-10-30 12:24:04 +09:00
Paul Riseborough
35b08849f7
AP_NavEKF2: Reduce effect of rounding errors on covariance prediction
2015-10-20 15:21:37 +11:00
Paul Riseborough
47ae0f35f6
AP_NavEKF2: Make EKF2 PosDownDerivative interface follow coding conventions
...
Updates arising from peer review.
2015-10-20 15:21:37 +11:00
Paul Riseborough
52fd369b2f
AP_NavEKF2: Add methods to output and calculate vertical position derivative
...
This patch calculates a derivative of the vertical position (positive down).
The derivative is exposed via a public function.
2015-10-20 15:21:35 +11:00
Paul Riseborough
20a3f9782e
AP_NavEKF2: Add full set of selectable pre-flight GPS checks
2015-10-10 21:22:53 +09:00
Paul Riseborough
22920aafad
AP_NavEKF2: Improve GPS status reporting
2015-10-10 14:48:59 +09:00
Paul Riseborough
325f4139fe
AP_NavEKF2: Clean up mode change logic
2015-10-05 13:35:26 +09:00
Randy Mackay
015f700bc0
AP_NavEKF2: getLastYawResetAngle returns last reset time
2015-09-24 16:57:38 +09:00
Paul Riseborough
80e182f827
AP_NavEKF2: Update EKF2 data logging
2015-09-24 12:58:44 +10:00
Paul Riseborough
4acd6c129a
AP_NavEKF2: Update parameters
2015-09-24 12:58:43 +10:00
Paul Riseborough
4a7714e15d
AP_NavEKF2: Remove unused parameters and improve naming consistency
2015-09-24 12:58:43 +10:00
Paul Riseborough
8afb26087d
AP_NavEKF2: Remove unused function
2015-09-24 12:58:43 +10:00
Andrew Tridgell
fe76662faf
AP_NavEKF2: added set_enable() API
2015-09-23 18:55:12 +10:00
Andrew Tridgell
cbc62238a9
AP_NavEKF2: run astyle for reformatting
2015-09-23 17:29:28 +10:00
Andrew Tridgell
760dafbb9d
AP_NavEKF2: added enabled() function
2015-09-23 12:09:26 +10:00
Andrew Tridgell
b4555f30a5
AP_NavEKF2: added frontend calls to core code
2015-09-23 11:56:42 +10:00
Andrew Tridgell
3ac75aeffb
AP_NavEKF2: added EK2_ENABLE parameter
2015-09-23 11:56:42 +10:00
Paul Riseborough
f500474a86
AP_NavEKF2: initial import of new maths EKF
2015-09-23 09:51:14 +10:00