Commit Graph
100 Commits
Author SHA1 Message Date
Paul RiseboroughandDaniel Agar 4465c4fbf6 ekf2: Publish and log EKF warning and information events (NEW msg estimator_event_flags)
* msg: Add estinator information and warning events message (estimator_event_flags)
 * ekf2: publish information and warning events
 * logger: log estimator_event_flags
 * update ecl submodule to latest

Co-authored-by: Daniel Agar <daniel@agar.ca>
2021-03-07 16:16:48 -05:00
priseborough c25c97f8b5 [AUTO COMMIT] update change indication 2021-01-09 11:03:31 -05:00
Paul Riseborough 64ed96bd95 ekf2: Correct airspeed used by EKF for calibration errors 2021-01-05 19:22:53 -05:00
Paul Riseboroughandkritz 7fa9a1963b EKF: optflow fusion cleanup
Co-authored-by: kritz <kritz@ethz.ch>
2020-08-16 08:44:17 +10:00
Paul Riseboroughandkritz 0e74f3ea9d EKF: optflow fusion cleanup
Co-authored-by: kritz <kritz@ethz.ch>
2020-08-16 08:44:17 +10:00
Paul Riseboroughandkritz 6e992a18f6 EKF: optflow fusion cleanup
Co-authored-by: kritz <kritz@ethz.ch>
2020-08-16 08:44:17 +10:00
Paul Riseboroughandkamilritz 0aa2f17562 EKF: Convert GPS yaw observation method to use SymPy generated code (#880)
* EKF: add test comparison program for GPS yaw fusion equations

* EKF: convert GPS yaw fusion method to use SymPy generated equations

* Replace if/else with simple if

* EKF: fix formatting of GPS yaw fusion auto-code comparison test

* EKF: Use  SparseVector type for GPS yaw fusion Jacobians

* EKF: Fix bug in GPS yaw derivation comparison check

* Add gps_yaw auto generated code file

Co-authored-by: kamilritz <kritz@ethz.ch>
2020-08-13 13:23:57 +10:00
Paul Riseboroughandkamilritz 21cc46edd7 EKF: Convert magnetic field observation methods to use SymPy generated code (#879)
* EKF: Add comparison test for mag field fusion generated code

* EKF: convert mag field fusion to use SymPy generated code

* EKF: Add test comparison program for yaw fusion equations

* Stop setting 0 to 0

* Reduce if/else statement to only if

* EKF: more accurate implementation for sequential fusion of magnetometer data

* test: update change indicator

* Use matrix::SparseVector<float, 24, ...> for observation jacobian

* Adapt the auto code generation to allow for different bracket styles

* Add auto generated code for mag fusion

* Add generic computation of KHP

* Apply generic computation of KHP to mag fusion

* tests: update change indicator

* tests: update change indicator

Co-authored-by: kamilritz <kritz@ethz.ch>
2020-08-11 18:57:22 +10:00
Paul Riseboroughandkamilritz 6feb28c27d EKF: Convert EKF-GSF yaw estimator from matlab to sympy derived equations (#871)
* EKF: Add sympy derivation of equations for EKF-GSF yaw estimator

* EKF: Convert EKF-GSF yaw estimator to use sympy generated equations

* EKF: Add status prints for GSF-EKF yaw estimator cvode gen

* EKF: Move generated code for GSF-EKF yaw estinmator to generated directory

* Make it run with python3

* Cleanup yaw estimator code generation

* Improve and simplify gsf measurement update code generation

* Use improved auto generated measurement update code

& remove obsolete updateInnovCovMatInv function

* Delete generated ekf_derivation for the moment

Co-authored-by: kamilritz <kritz@ethz.ch>
2020-08-10 09:27:31 +02:00
77b11129fa EKF: replacement of covariance prediction autocode with sympy generated output (#870)
* added python script with ekf derivation (WIP)

Signed-off-by: RomanBapst <bapstroman@gmail.com>

* worked on c code auto-generation

Signed-off-by: RomanBapst <bapstroman@gmail.com>

* save before variable name change

Signed-off-by: RomanBapst <bapstroman@gmail.com>

* changed symbol names

Signed-off-by: RomanBapst <bapstroman@gmail.com>

* added codegeneration class

Signed-off-by: RomanBapst <bapstroman@gmail.com>

* improve 3D mag fusion derivation

Signed-off-by: RomanBapst <bapstroman@gmail.com>

* EKF: Extend ekf sympy derivation to include all observation types

* EKF: Add custom ecl::powf function for integer powers

* EKF: Convert ekf covariance prediction to use sympy output

* EKF: Add test program to compare sympy and matlab covariance prediction

Also tests ecl::powf(x,exp) function

* EKF: simplify ecl::powf function

* Generate code to subfolder generated/

* Add printouts for showing code generation progress

* Move generated covariance code to generated folder

* Upgrade code generation to python3

* main.py: Remove unused create_symbols function

& making code more compact

* main.py: move main part into function

* Code generation: fix passing wrong rotation matrix to yaw_observation ()

* EKF: Amend generated code filename for consistency

* Move ecl::powf function test to unit tests

* EKF: Use updated ecl:powf functionality in test program

* Move ecl::powf to utils.hpp

* Update ecl::powf test

* Update output change indication

* test: update expected output for change indicator

* test: update expected output for change indicator again

Co-authored-by: RomanBapst <bapstroman@gmail.com>
Co-authored-by: kamilritz <kritz@ethz.ch>
2020-07-30 12:44:08 +10:00
59183f70ba EKF: Reduce EKF-GSF vulnerability to large yaw gyro bias errors (#831)
* EKF: Reduce EKF-GSF vulnerability to large yaw gyro bias errors

* Update EKF/ekf_helper.cpp

* EKF: Fix comment typo

Co-authored-by: Roman Bapst <bapstroman@gmail.com>

Co-authored-by: Mathieu Bresciani <brescianimathieu@gmail.com>
Co-authored-by: Roman Bapst <bapstroman@gmail.com>
2020-06-02 17:42:54 +10:00
Paul Riseborough 19bbea75c0 Fix GPS altitude not fused if GPS checks fail and GPS is primary height source (#813)
* EKF: Fix failure to select a height sensor

* EKF: Remove unnecessary check and improve documentation
2020-05-14 19:26:16 +10:00
Paul Riseborough cda7486897 EKF: Prevent yaw reset to GPS caused by loss of GPS data (#805) 2020-04-30 17:50:26 +10:00
Paul Riseborough 8a9d961f0d EKF: Improve covariance prediction stability (#795)
* EKF: Improve covariance prediction stability

Eliminates collapse of vertical velocity state variance due to rounding errors that can occur under some operating conditions.

* EKF: Fix typo

* test: Fix initialisation test cases

Provide sufficient time for variances to stabilise and fix calculation of reference quaternion for alignment.

* test: Allow for accumulated rounding error in IMU sampling test

* test: Allow sufficient time for quaternion variances to reduce after initial alignment

* test: Increase allowance for tilt alignment delay and inertial nav errors

* test: Increase allowance for tilt alignment delay and inertial nav errors

* adpat reset velocity test

* test: update change indication file

* test: Adjust tests to handle alignment time and prediction errors

* README.md: Add documentation for change indicator test
2020-04-23 14:38:09 +02:00
Paul Riseborough 544385fd8c EKF: Simplify centripetal accel correction (#789) 2020-04-01 13:36:56 +11:00
Paul Riseborough 89b5c77d5d EKF: Enable GPS flight without magnetometer (#770)
* EKF: Enable GPS flight without magnetometer

Enables takeoff in a non-GPS flight mode with mag fusion type set to MAG_FUSE_TYPE_NONE. After sufficient movement the EKF will reset the yaw tot he EKF-GSF estimate. After that GPS fusion will commence.

* EKF: Fix unconstrained yaw and yaw variance growth when on ground

* EKF: Ensure first yaw alignment can't be blocked

* EKF: Increase yaw variance limit allowed for alignment

Flight test data indicates that an uncertainty value of 15 deg still provides a reliable yaw estimate and enables an earlier alignment/reset if required.

* EKF: Remove unexecutable code

* EKF: Restructure heading fusion

* EKF: parameterise quarter variance check and retune default value

* EKF: Pass by reference instead of pointer

* EKF: Clarify reset logic

* EKF: Remove incorrect setting of mag field alignment flag

* EKF: Non-functional tidy up

* EKF: Fix non-use of function argument

The updateQuaternion function was using the _heading_innovation class variable instead of setting it using the innovation argument.

* EKF: Fix undefined variable

* EKF: Use single precision atan2

* EKF: remove unnecessary timer reset and unwanted execution of reset function

* EKF: Don't declare a mag fault when non-use is user selected

Doing so produces unnecessary user alerts.
2020-03-30 20:05:38 +11:00
Paul Riseborough ab92b46e69 Update ecl to add ability to recover from bad magnetic yaw
* msg: Add EKF-GSF yaw estimator logging data
* ecl: update to version with EKF-GSF yaw estimator
* ekf2: Add param control and logging for EKF-GSF yaw estimator
* logger: Add logging for EKF-GSF yaw esimtator
2020-03-15 12:57:25 -04:00
Paul Riseborough 4669aa6312 EKF: Add Emergency yaw recovery using EKF-GSF estimator (#766)
* EKF: Use common rate vector calculation for offset corrections

* EKF: Remove duplicate matrix entry calculations

* EKF: Create a EKF-GSF yaw estimator class

* EKF: add emergency yaw reset functionality

* EKF: remove un-used function

* EKF: Ensure required constants are defined for all builds

* EKF: Fix CI build error

* Revert "EKF: remove un-used function"

This reverts commit 93005309c7f3794414ad99c86218b3062e00bbd3.

* EKF: Replace in-lined Tait-Bryan 312 conversions with function call

Also remove unnecessary operations

* EKF: Remove unnecessary update of external vision rotation matrix

* EKF: Use const

* EKF: use const

* EKF: don't use class variable as a temporary variable

* EKF: update comments

* EKF: Improve efficiency of yaw reset

Use conversion from rotation matrix to Euler angles instead of quaternion to euler angles.

* EKF: use const

* EKF: remove un-used struct element

* EKF: more descriptive function name

* EKF: use existing matrix row operator

* EKF: remove unnecessary rotation matrix update

* EKF: Use square matrix type

* EKF: Improve protection for bad innovation covariance

* EKF: Use matrix library operations

* EKF: Replace memcpy with better alternative

memcpy bypasses compiler sanity checks and is unnecessary in this instance.

* EKF: Split EKF-GSF yaw reset function

Adds a common function to support yaw reset that can be used elsewhere.

* EKF: Use common function for quaternion state and covariance yaw reset

* EKF: Replace inlined matrix operation

* EKF: Use const

* EKF: Change accessor function name

* EKF: Use const

* EKF: Don't create unnecessary duplicate variable locations

* EKF: Remove duplicate covariance innovation inverse

* EKF: Don't create unnecessary duplicate variable locations

* EKF: Rely on geo library to provide gravity

* EKF: Improve protection from bad updates

* EKF: Reduce effect of vibration on yaw estimator AHRS

* EKF: Improve yaw estimator AHRS accuracy during manoeuvre transients
2020-03-05 21:50:52 +11:00
Paul Riseborough 8ce285cdfa EKF: Don't allow tilt alignment if vehicle is moving excessively (#768)
Also remove unnecessary update of the _accel_lpf after alignment.
2020-03-05 21:42:45 +11:00
Paul Riseboroughandkritz b4ecfb7723 EKF: Fix sign error in earth rotation rate correction (#763)
* EKF: Fix sign error in earth rotation rate correction

Addresses issue https://github.com/PX4/ecl/issues/759

* Update change indication output

Co-authored-by: kritz <kritz@ethz.ch>
2020-03-03 20:16:49 +01:00
Paul Riseborough 0f346af226 ekf2: Improve parameter description
Inhibiting bias estimation using the EKF2_AID_MASK parameter only applies to the delta velocity bias states.
2019-04-24 06:55:54 +02:00
Paul Riseborough 48d83f3bcb EKF: Fix vulnerability to ground level mag anomally when using heading fusion (#544)
Previously, the reset of the yaw when climbing above 1.5m was not performed until 3-axis fusion was enabled. This could result in loss of navigation depending on the value of  EKF2_MAG_TYPE and the flight profile.
2019-01-03 09:41:55 -05:00
Paul Riseborough 2c97054d40 commander notify user if EKF fails compass (#10919) 2018-11-28 13:12:35 -05:00
Paul Riseborough 72f85e4b2d ekf2: Handle blending of dissimilar rate GPS data (#10570)
A filtered update update interval is calculated for each receiver.
If dissimilar interval data is detected, blending occurs when data is received from the slower of the receivers.
If similar interval data is detected, blending occurs when receiver data with similar time stamps is available.
If no data is received from either receiver for longer than 300msec, then no blending will be performed and the most recent data will be used instead.
2018-09-29 09:23:19 -04:00
Paul Riseborough 35f628e68f EKF: Add interface to enable logging of GPS drift metrics (#490)
* EKF: Add interface to enable logging of GPS drift metrics

* EKF: Fix bug affecting rate of GPS drift publication

Also fix variable name.
2018-08-03 13:24:31 +10:00
Paul Riseborough fc65939f0e ekf2: Add support for use of multiple GPS receivers (#9765) 2018-07-22 12:18:30 -04:00
Paul Riseborough 4a0b41bbc0 ekf2: Enable use of flow sensors not fitted with gyros (#9703)
* ecl: Update to version allowing use of flow sensors without gyros

* msg: Update description for optical_flow

Adds advice for publishing gyro rate integral message when no rate gyro is fitted.
2018-06-20 10:28:58 +10:00
Paul Riseborough 1cba257bac Merge branch 'master' into pr-ekfOptFlowGyro 2018-06-18 09:36:16 +10:00
Paul Riseborough 1a1106878d EKF: Prevent timestamp jitter failing GPS data arrival check (#462)
This fixes a error condition that occurs if _time_last_gps is greater than _time_last_imu.
By checking time stamps at the fusion time horizon, we guarantee that this cannot happen because all observations must have a time stamp smaller or equal to _imu_sample_delayed.time_us before they are retrieved from the buffers.
2018-06-15 16:03:54 +10:00
Paul Riseborough 1bd1809d6e EKF: Fix bug causing simultaneous range and baro height fusion (#429) 2018-05-03 13:24:33 +10:00
Paul Riseborough 02055acee2 EKF: Fix non GPS aiding data reset logic (#418)
* EKF: Move optical flow specific state reset to helper functions

* EKF: Ensure loss of optical flow aiding is handled correctly

If data is only source of aiding and has been rejected for too long - reset using flow data as a velocity reference.
If flow data is unavailable for too long - declare optical flow use stopped.
Use consistent time periods for all resets

* EKF: Ensure loss of external vision aiding is handled correctly

If data is only source of aiding and has been rejected for too long - reset using data as a position.
Don't reset velocity if there is another source of aiding constraining it.
If data is unavailable for too long, declare external vision use stopped.
Use consistent time periods for all resets.

* EKF: Update parameter documentation

Make the distinction between the no_gps_timeout_max and no_aid_timeout_max parameters clearer

* EKF: make class variable units consistent with documentation

* EKF: Don't reset states when optical flow use commences if using external vision

* EKF: Stop optical flow fusion when on ground if excessive movement is detected.

* EKF: fix terrain estimator vulnerabilities

Reset estimate to sensor value if rejected for 10 seconds
Protect against user motion when on ground.
Fix unnecessary duplication of terrain validity check and separate validity update and reporting.

* EKF: remove unnecessary Info console prints

Optical flow use information can be obtained from the estimator_status.control_mode_flags message

* EKF: fix inaccurate comment

* EKF: remove duplicate calculation from terrain validity accessor function
2018-04-09 18:35:15 +10:00
Paul Riseborough 1bb4c17c0e EKF: Allow use of large GPS position observation noise when using other aiding sources (#403) 2018-03-27 11:31:37 +11:00
Paul Riseborough 8a012436f9 EKF: Fix reversion from GPS to no-aiding mode (#412)
* EKF: Do not delay reversion to no-aiding mode if parameter initiated

* EKF: Move no-aid reversion resets to helper functions

* EKF: Prevent unwanted fusion of velocity data during no aiding mode
2018-03-22 22:39:00 +11:00
Paul Riseborough 11e3081efd ecl: Fixes bug preventing use of GPS reported speed accuracy (#8981) 2018-02-28 15:32:01 +11:00
Paul Riseborough 78e983073a EKF: Fix bug in use of gps velocity noise parameter (#401)
This fixes a bug introduced by an earlier feature request PR. The parameter is supposed to define the lower limit on the observation noise.
2018-02-28 11:48:53 +11:00
Paul Riseborough abb067c788 ecl: Use EKF version with external vision nav axis rotation bug fixes (#8935) 2018-02-22 22:02:50 +11:00
Paul Riseborough a2d6a4dded EKF: fix indexing bug (#387)
Should use index 9 for vertical position.
2018-01-29 08:09:55 +11:00
Paul Riseborough f016e66ff8 Revert "EKF: Release flow speed limit with altitude gained" (#382)
* Revert "EKF: Release flow speed limit with altitude gained"

This reverts commit e70206f74b.

* Revert "fix code style"

This reverts commit 76bf70121c.

* Revert "Reverse the linked list of data_validator_group and maintain a first node"

This reverts commit 32482e7644.
2018-01-24 20:46:48 +11:00
Paul Riseborough 76763adb5c Merge pull request #374 from PX4/pr-ekfInitFix
EKF: Prevent possible /0 due to incorrect initial values
2018-01-04 08:15:08 +11:00
Paul Riseborough bdbc05cf91 Merge pull request #372 from PX4/pr-tecs_init
TECS initialize throttle integrator at cruise if in air
2017-12-28 09:09:14 +11:00
Paul Riseborough a39c376c26 Merge pull request #371 from CarlOlsson/pr-push_beta_test_ratio
ekf: return beta test ratio in get_innovation_test_status
2017-12-28 08:29:15 +11:00
Paul Riseborough 176738c688 commander: add missing px4_close (#8513) 2017-12-22 08:57:06 +11:00
Paul Riseborough 64a06d8523 commander: Fix pre-flight delta velocity bias check level (#8446)
Previous check level was less than the max achievable by the estimator using current default parameters making the check ineffective.
2017-12-12 11:41:42 +11:00
Paul Riseborough f6b108c2b6 ecl: Use branch Release_1.7.0 (#8406)
This branch fixes a reported bug, fixes tow potential bugs and fixes a minor documentation error.

1) Removes code un-used under normal conditions that would prevent a height reset if a negative height variance was present. Potential bug.
2) Fix error in parameter documentation.
3) Adds missing initialisations for class variables . Potential bug.
4) Prevents the EKF loss of navigation message being output on startup. Reported bug.
2017-12-06 00:04:34 -05:00
Paul Riseborough 22a6abbca2 Merge pull request #365 from PX4/pr-ekfBugFix
EKF: Fix vel pos innovation handling bug
2017-11-24 14:46:11 +11:00
Paul Riseborough 882f4d44e5 Merge pull request #362 from PX4/pr-ekfAuxVelFuse
EKF: Add additional velocity interface to use landing beacon data
2017-11-21 11:55:43 +11:00
Paul Riseborough bd8f30752a Merge pull request #351 from PX4/ekfGndEffectComp-wip
EKF: Protect against ground effect induced static pressure rise
2017-11-20 09:14:26 +11:00
Paul Riseborough c8d459eecd Merge pull request #360 from dagar/pr-ekfObsBufAlloc
EKF RingBuffer allocation minor improvements + print memory usage
2017-11-17 08:38:57 +11:00
Paul Riseborough 3479542ae5 Merge pull request #359 from PX4/pr-ekfObsBufAlloc
EKF: Reduce memory usage
2017-11-17 08:09:37 +11:00
Paul Riseborough f54f1d467f Merge pull request #358 from PX4/pr-ringbuffer_copies
EKF RingBuffer avoid unnecessary copying
2017-11-16 13:37:36 +11:00
Paul Riseborough 44eaa076db Merge pull request #356 from PX4/pr-ekfMiscUpdate
EKF: Remove redundant code
2017-11-16 07:05:18 +11:00
Paul Riseborough 44a71ad6c9 ekf2: Update parameter descriptions (#8292)
Make it clearer that the gate parameters control innovation consistency checks and that the gate size is specified in standard deviations.
Also make it clear that the EKF2_BARO_GATE also controls the GPS height fusion.
2017-11-15 09:19:08 -05:00
Paul Riseborough cc651ac472 Merge pull request #354 from PX4/ekfMagYawReset-wip
Prevent loss of navigation accuracy after in-flight mag yaw alignment
2017-11-13 07:32:23 +11:00
Paul Riseborough 7852c0ed03 Merge pull request #312 from PX4/pr-ekfExtVisQuat
EKF: Enable operation with arbitrary External Vision reference frame
2017-11-12 08:35:39 +11:00
Paul Riseborough f921b2de5c Merge pull request #348 from PX4/pr-ekfAddImuBiasReset
EKF: Add method to enable the IMU bias states to be reset externally
2017-10-30 15:55:52 +11:00
Paul Riseborough cd2ca57ec2 Merge pull request #339 from PX4/ekfPosCtrlLimits-wip
Ekf pos ctrl limits wip
2017-10-23 06:57:23 +11:00
Paul Riseborough c9f44531c2 logger: Add logging profile to support comparison of multiple sensors (#8134) 2017-10-20 09:30:55 -04:00
Paul Riseborough afa8844eb7 Merge pull request #341 from CarlOlsson/fix/fw_yaw_align2
EKF: If aligning yaw for fw with low GPS velocity, use mag
2017-10-20 14:05:52 +11:00
Paul Riseborough 61e0c04811 Merge pull request #338 from CarlOlsson/fix/fw_pos_reset
EKF: Fix bug when resetting position and velocities for fw due to som…
2017-10-18 07:02:34 +11:00
Paul Riseborough 410697cb0c Merge pull request #337 from CarlOlsson/fix/comment
EKF: fixed comment
2017-10-17 21:15:06 +11:00
Paul Riseborough a34bba87fc Merge pull request #322 from PX4/pr-ekfMagFusionMode
EKF Add mag fusion mode for VTOL
2017-10-13 07:27:54 +11:00
Paul Riseborough 9c65968c3d Merge pull request #334 from PX4/pr-ekf_minor_flow_fix
ekf: fix optical flow bugs
2017-10-12 09:14:29 +11:00
Paul Riseborough 68bad48598 Merge pull request #330 from CarlOlsson/pr-add_get_wind_vel_var
EKF: added get_wind_velocity_var function
2017-10-12 09:12:54 +11:00
Paul Riseborough 705f93d0bf Merge pull request #327 from CarlOlsson/parameterize_max_rng_tilt
EKF: Parameterize maximum angle for rng fusion
2017-10-02 17:08:34 +11:00
Paul Riseborough 160e4d69c1 Merge pull request #323 from PX4/pr-ekfQuatMultOrder
EKF: use hamiltonian convention for quaternion multiplication order
2017-09-21 07:49:35 +10:00
Paul Riseborough 4411c7fd1c Merge pull request #325 from PX4/pr-ekfFlowGyroBias
EKF: Fix bug in accumulation of IMU data for flow sensor gyro bias
2017-09-14 18:47:46 +10:00
Paul Riseborough 3b3326e250 Merge pull request #326 from TSC21/fix_travis
travis: install python3.5 for trusty in order to run pip3
2017-09-14 18:32:31 +10:00
Paul Riseborough 1531269f92 Merge pull request #319 from PX4/pr-attitude_fw-cleanup
attitude_fw delete unused and cleanup
2017-08-28 09:48:49 +02:00
Paul Riseborough fac292fef9 Merge pull request #321 from dagar/pr-ekf_formatting
EKF trivial code style cleanup
2017-08-26 18:17:23 +10:00
Paul Riseborough 3983ac23fa Merge pull request #316 from PX4/pr-ekfTrueAirspeed
EKF: Add true airspeed accessor
2017-08-11 08:18:04 +10:00
Paul Riseborough 967720a9d7 Merge pull request #313 from PX4/pr-ekfYawReset
EKF: Improve in-flight mag error detection, recovery and isolation for fixed wing
2017-08-08 20:59:49 +10:00
Paul Riseborough 08059caf89 EKF: Enable compensation for static pressure positional error (#7264)
* msg: add reporting of multi rotor drag fusion

* ekf2: add reporting of multi rotor drag fusion

* ekf2: Add parameters required to tune multi-rotor wind estimation

* ekf2: Add correction for static pressure position error

* ekf2: Use correct air density for position error corrections

* ekf2: fix parameter documentation error

* ekf2: Add separate forward and reverse position error correction factors

* ekf2: Fix formatting and parameter descriptions

* ekf2: Improve comments
2017-08-01 07:29:08 +10:00
Paul Riseborough c230663b68 Merge pull request #309 from PX4/pr-ekfYawFusion
EKF: Improve efficiency of yaw fusion for External Vision
2017-07-31 19:37:15 +10:00
Paul Riseborough ba5de96fcb Merge pull request #311 from PX4/pr-ekfExtVis
EKF: Add ability to use EV and GPS data together
2017-07-29 16:29:53 +10:00
Paul Riseborough 5324f30cb6 ekf2: Let the EKF know if the vehicle is operating as a fixed wing type. (#7667)
Setting this enables the EKF to use the GPS velocity to recover from bad compass yaw at launch.
2017-07-29 07:18:58 +10:00
Paul Riseborough 74d1955dfa Merge pull request #310 from PX4/pr-ekfFixComments
EKF: Correct units in comments
2017-07-26 16:28:44 +10:00
Paul Riseborough df34b43c00 Merge pull request #308 from PX4/pr-ekfDoxygen
EKF: Update documentation and make compatible with Doxygen
2017-07-21 10:55:18 +10:00
Paul Riseborough f93be992ce ekf2: Update documentation for compatibility with Doxygen (#7657) 2017-07-20 22:05:29 +10:00
Paul Riseborough 627f8184b3 Merge pull request #307 from PX4/pr-constrain_vpos
constrain _terrain_vpos to be a minimum of _params.rng_gnd_clearance …
2017-07-20 17:35:35 +10:00
Paul Riseborough 9b6e1ab2a7 Merge pull request #306 from PX4/revert-305-revert-303-pr-get_terr_valid
Revert "Revert "Split get_terrain_vert_pos() into valid and get_vpos""
2017-07-19 17:54:18 +10:00
Paul Riseborough e1fe5b2229 Revert "Revert "Split get_terrain_vert_pos() into valid and get_vpos"" 2017-07-19 17:52:35 +10:00
Paul Riseborough 13f8d949bd Merge pull request #305 from PX4/revert-303-pr-get_terr_valid
Revert "Split get_terrain_vert_pos() into valid and get_vpos"
2017-07-19 17:34:03 +10:00
Paul Riseborough c887b02f21 Revert "Split get_terrain_vert_pos() into valid and get_vpos" 2017-07-19 17:33:48 +10:00
Paul Riseborough 18e81eba31 Merge pull request #300 from nicolaerosia/ekf2-dt
sensor_combined stores deltas in usec instead of seconds
2017-07-17 07:25:27 +10:00
Paul Riseborough d69cc3d7c8 Merge pull request #293 from PX4/pr-fixExtVisionFallback
EKF: Allow fallback to non-aiding mode if external vision fusion is lost
2017-07-13 20:45:24 +09:00
Paul Riseborough 7a17f74910 Merge pull request #297 from ursa-drone/vispos_fix
Fixed vision position fusion bug
2017-07-12 22:15:54 +09:00
Paul Riseborough 48a42dfb5b Merge pull request #288 from PX4/pr-ekfDelVelBiasFix
EKF: Improve protection against covariance instability in delta velocity bias states
2017-07-04 08:57:32 +10:00
Paul Riseborough eb1e73ec81 Merge pull request #283 from PX4/ekf_matrix_cleanup
EKF matrix typedef cleanup
2017-07-03 21:02:24 +10:00
Paul Riseborough ae118940b1 Merge pull request #292 from PX4/pr-use_baro_align
use baro for the ekf alignment if range finder is primary height source
2017-07-03 20:31:16 +10:00
Paul Riseborough dfbc9de48e Merge pull request #291 from PX4/pr-ekfWindEstBugFix
EKF: Fix bug affecting wind estimation for planes
2017-07-01 11:06:58 +10:00
Paul Riseborough 73ef95b37f Merge pull request #289 from PX4/pr-height_fixes
Pr height fixes
2017-06-30 12:31:26 +10:00
Paul Riseborough 7f1cca5b28 Merge pull request #244 from PX4/pr-rangeAid
Pr range aid
2017-06-16 17:47:21 +10:00
Paul Riseborough d6decb3c84 Merge pull request #277 from PX4/pr-ekfBufferParam
EKF: Add a parameter to enable setting of a minimum buffer length
2017-06-15 07:34:21 +10:00
Paul Riseborough c48b879843 Merge pull request #276 from CarlOlsson/feature/only_update_mag_states
EKF: Add feature to use the mag to only update the mag states
2017-06-14 11:04:14 +10:00
Paul Riseborough 97eb17a62f Merge pull request #265 from PX4/pr-ekfOutputObserver
EKF: add option to output velocity as time derivative of position
2017-06-12 19:01:54 +10:00
Paul Riseborough 8a2c5c1ad2 Merge pull request #266 from dagar/valgrind
ekf2 initialization fixes
2017-04-25 17:38:17 +10:00
Paul Riseborough c62bdcbdb2 Merge pull request #264 from PX4/pr-ekfBuildErrorFix
EKF: remove clang build error message
2017-04-18 19:29:16 +10:00
Paul Riseborough d47c372872 Merge pull request #263 from PX4/pr-ekfBuildErrorFix
EKF: Fix travis clang build error
2017-04-18 17:12:51 +10:00
Paul Riseborough b07acd8cf3 Merge pull request #254 from PX4/pr-ekfAccelErrorHandling
EKF: improve recovery from bad IMU accel data
2017-04-12 21:39:14 +10:00
Paul Riseborough a1a5734443 Merge pull request #259 from PX4/pr-ekfBugFix
EKF: Protect against covariance prediction and update errors
2017-04-06 16:30:07 +10:00