Randy Mackay
66a9093cd0
AP_NavEKF2: getRangeBeaconDebug returns false on failure to get beacon data
2016-11-30 17:56:51 +09:00
priseborough
0ec8f0932a
AP_NavEKF2: Prevent output of NaN's in range beacon debug output
...
This can happen if this accessor function is called before the EKF states are initialised
2016-11-30 17:56:50 +09:00
Randy Mackay
fbecda7eeb
AP_NavEKF2: change order of variable initialisation
...
No functional change, this modifies the init order to match the declaration order.
2016-11-30 17:56:49 +09:00
Randy Mackay
82854953e7
AP_NavEKF2: minor comment fix
2016-11-30 17:56:48 +09:00
Randy Mackay
14a73e499a
AP_NavEKF2: initialise two range beacon structures
2016-11-30 17:56:47 +09:00
priseborough
2ee8250807
AP_NavEKF2: Changes from code review by @muramura
2016-11-30 17:56:46 +09:00
Randy Mackay
1f4606e48a
AP_NavEKF2: protect against null beacon
2016-11-30 17:56:45 +09:00
Randy Mackay
51ccfca31c
AP_NavEKF2: fix format of statustext for beacon init
2016-11-30 17:56:44 +09:00
priseborough
ef03a85cd3
AP_NavEKF2: add range beacon interface and fusion method
2016-11-30 17:56:43 +09:00
priseborough
0a177d04fd
AP_NavEKF2: Simply core switch implementation
...
Functionally equivalent
2016-11-24 19:58:10 +09:00
priseborough
7d48054e6f
AP_NavEKF2: Group GPS innovation tests when compiling error score
2016-11-24 19:58:07 +09:00
Randy Mackay
e9ea06bd10
AP_NavEKF2: minor comment fix
2016-11-24 19:58:03 +09:00
priseborough
0df45703f1
AP_NavEKF2: Fix errors in position reset delta publishing
2016-11-24 19:57:47 +09:00
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
2016-11-24 19:57:45 +09:00
priseborough
e62863f9a1
AP_NavEKF2: Reduce unnecessary EKF core switching
...
1) Do not switch to a core until its states have been updated.
2) Distinguish between mandated switches required for health failure and optional switches required due to innovation checks failing.
3) Apply hyseresis to innovation check levels
2016-11-24 19:57:41 +09:00
murata
c808ee2f49
Global: To nullptr from NULL.
...
RC_Channel: To nullptr from NULL.
AC_Fence: To nullptr from NULL.
AC_Avoidance: To nullptr from NULL.
AC_PrecLand: To nullptr from NULL.
DataFlash: To nullptr from NULL.
SITL: To nullptr from NULL.
GCS_MAVLink: To nullptr from NULL.
DataFlash: To nullptr from NULL.
AP_Compass: To nullptr from NULL.
Global: To nullptr from NULL.
Global: To nullptr from NULL.
2016-11-02 16:04:47 -02:00
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
2016-10-27 17:09:06 +11:00
priseborough
c93c3d54f3
AP_NavEKF2: Don't correct for zero IMU position offset
...
The IMU offset correction involves a significant number of floating point operations and most users will leave the offset parameter at zero.
2016-10-27 14:54:44 +11:00
priseborough
1890bbdafa
AP_NavEKF2: Don't correct GPS for zero position offset
2016-10-27 14:54:44 +11:00
priseborough
f025c96e63
AP_NavEKF2: Don't correct range finder for zero position offset
2016-10-27 14:54:43 +11:00
priseborough
9a0ce1d5eb
AP_NavEKF2: Don't correct flow sensor for zero position offset
2016-10-27 14:54:43 +11:00
priseborough
b40016db62
AP_NavEKF2: Fix documentation errors
2016-10-27 14:54:43 +11:00
priseborough
13ca62b1c7
AP_NavEKF2: Correct velocity and position outputs for IMU offset
...
This can improve position hold performance where it is not practical to have the IMU located at the centroid.
Although this enables the effect of IMU position offsets to be corrected, users will still need to be instructed to place the IMU as close to the vehicle c.g. as practical as correcting for large offsets makes the velocity estimates noisy.
2016-10-27 14:54:43 +11:00
priseborough
21dcf42c27
AP_NavEKF2: Add missing documentation
2016-10-27 14:54:43 +11:00
priseborough
8922861359
AP_NavEKF2: Correct optical flow data for sensor position offset
...
Correction requires the body rates averaged across the flow sensor sampling interval. This data has been added to the sensor buffer.
The body rate data from the flow sensor driver does not contain the Z component, so an equivalent value sampled from the navigation IMU has been used instead.
The variable omegaAcrossFlowTime has been moved out of the class and into the only function that uses it.
2016-10-27 14:54:43 +11:00
priseborough
16f021c466
AP_NavEKF2: Correct range finder data for body frame position offset
2016-10-27 14:54:43 +11:00
priseborough
e884e9cc6e
AP_NavEKF2: Correct GPS data for antenna body frame offset
2016-10-27 14:54:43 +11:00
priseborough
064a106808
AP_NavEKF2: Get IMU accelerometer body position offset data
2016-10-27 14:54:42 +11:00
priseborough
397033b7c3
AP_NavEKF2: Add flow sensor body position offset to data buffer
2016-10-27 14:54:42 +11:00
priseborough
92c086b40e
AP_NavEKF2: Add rangefinder body position offset to data buffer
2016-10-27 14:54:42 +11:00
priseborough
3148ad4623
AP_NavEKF2: Add GPS antenna position offset data to data buffer
2016-10-27 14:54:42 +11:00
priseborough
fd905c23e1
AP_NavEKF2: Add body position offset to optical flow interface
2016-10-27 14:54:42 +11: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
priseborough
9779511425
AP_NavEKF2: Fix bug in median filter code
2016-10-19 19:45:00 +09:00
Jonathan Challinger
dac59cb5da
AP_NavEKF2: use exact matrix for trim rotation
2016-10-13 10:02:14 +11:00
priseborough
5d09c78f34
AP_NavEKF2: Always perform optical flow takeoff check when receiving data
...
A specialised takeoff check is now always performed when we receive new flow data as the default behaviour is to try and use flow data whenever it is received, rather than limit its use to a use to a flow-only mode of operation that had to be selected via user parameter.
2016-10-10 14:49:48 +09:00
priseborough
a75a383ef2
AP_NavEKF2: Update protection for out of focus flow data
2016-10-10 14:49:41 +09:00
priseborough
635826c056
AP_NavEKF2: Fix reporting of terrain estimator innovations
...
Terrain height is relevant whenever optical flow data is present
2016-10-10 14:49:35 +09:00
priseborough
b0072b587c
AP_NavEKF2: fix reporting of optical flow use status
2016-10-10 14:49:24 +09:00
priseborough
ed9ecb28fb
AP_NavEKF2: Enable entry into relative position mode on start-up
2016-10-10 14:49:21 +09:00
priseborough
e0b8c54194
AP_NavEKF: Update GPS type parameter description
2016-10-10 14:49:18 +09:00
priseborough
f9018fcc1b
AP_NavEKF2: Enable simultaneous optical flow and GPS use
...
Enables simultaneous use of GPS and optical flow data with automatic fallback to relative position mode if GPS is lost and automatic switch-up to absolute position status if GPS gained/re-gained.
2016-10-10 14:49:02 +09:00
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.
2016-10-10 11:56:14 +09:00
Francisco Ferreira
42cd8e9721
AP_NavEKF2: Handle yaw jumps due to core switches
...
Based on work from Paul Riseborough (priseborough)
2016-09-25 18:24:11 -07:00
Francisco Ferreira
8da22e441b
Revert 3 commits about yaw reset core switch
...
Revert "AP_NavEKF2: Fix bug in published yaw reset value found during code review"
commit 175faf1e41
.
Revert "AP_NavEKF2: use a struct for all yaw step class variables"
commit 77fad065d1
.
Partially revert "AP_NavEKF2: Handle yaw jumps due to core switches"
commit 885bfd1b4e
.
2016-09-25 18:24:11 -07:00
Randy Mackay
2ebb81b02f
AP_NavEKF2: switching compass message to GCS downgraded to INFO
2016-09-21 21:42:44 +09:00
priseborough
b6867e085d
AP_NavEKF2: Don't report range finder variance on mavlink if not required
2016-09-21 10:41:21 +09:00
priseborough
cb1d3c7ed2
AP_NavEKF2: Allow for terrain gradient when using range finder for height
2016-09-13 17:45:03 +09:00
priseborough
60d8adcca0
AP_NavEKF2: Fix height drift on ground using range finder without GPS
2016-09-13 17:44:59 +09:00
priseborough
8797714203
AP_NavEKF2: Fix bug in handling of invalid range finder data
2016-09-13 17:44:43 +09:00