Commit Graph

256 Commits

Author SHA1 Message Date
Daniel Agar 7b1b255158 EKF2 set zero unused estimator_status fields 2018-01-12 23:19:46 +01:00
Lorenz Meier 73348b6c4e EKF2: Update param metadata 2018-01-08 09:27:22 +01:00
Lorenz Meier ca0267b4e9 EKF: Add required flags to parameters
This marks the learned bias parameters as volatile (as they change in flight without external configuration) and marks them as system level, which should hide them by default from the UI
2018-01-08 09:27:22 +01:00
CarlOlsson 84d7eb2900 ekf2: added beta test ratio to estimator_status
Signed-off-by: CarlOlsson <carlolsson.co@gmail.com>
2018-01-02 22:36:42 +01:00
CarlOlsson 925c65b4d5 ekf2: add beta innovation gate to parameters
Signed-off-by: CarlOlsson <carlolsson.co@gmail.com>
2017-12-21 04:02:10 +08:00
ChristophTobler 4bd7d62b5c ekf2: update AID_MASK bitmask comment for QGC 2017-12-20 05:22:11 +08:00
Paul Riseborough 324c5151e7 ekf2: use local scope for control mask variable 2017-12-08 07:43:13 +00:00
Paul Riseborough b812f95a77 ekf2: Adjust pre-flight check level
Reduce max yaw error when not using global frame aiding data to prevent large yaw yaw changes after takeoff.
2017-12-08 07:43:13 +00:00
Paul Riseborough ded9ca13e4 ekf2: Reduce sensitivity of preflight yaw check when not doing absolute aiding
When the EKF is not fusing in observations from the NE global reference frame, the tolerance to yaw errors is much higher. This changes will prevent false triggering of the preflight fail check when operating indoors without GPS where mag field errors can be high.
2017-12-08 07:43:13 +00:00
Paul Riseborough fc80be0917 ekf2: improve preflight checks and publish status
Separate the vertical and horizontal checks for use by local position validity reporting
Add checking of yaw using a decaying envelope filter to the horizontal checks.
Publish the check result to estimator_status topic.
2017-12-04 09:09:54 +00:00
Daniel Agar d1a4c2dcd0 cmake handle git submodule depdencies 2017-11-23 00:22:45 -05: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 a410893080 ecl: Update ekf2 to version that addresses known vulnerabilities
See:

https://github.com/PX4/ecl/pull/350
https://github.com/PX4/ecl/pull/354

Note the amount of stack allocation has had to be increased to accomodate pr350
2017-11-13 22:50:12 +01:00
Daniel Agar 0a58bd309c EKF2 always publish status message (#8234)
* EKF2 always publish status message

* EKF2 fix comment typo

* EKF2 time slip use signed int and consolidate

* EKF2 minor readability improvements
2017-11-08 07:55:50 +11:00
Paul Riseborough 589d58ce87 ekf2: Fix bug preventing first IMU failover bias reset 2017-10-30 08:21:09 +01:00
Paul Riseborough 0c9e07c95a ekf2: repeat IMU bias reset until successful 2017-10-30 08:21:09 +01:00
Daniel Agar e5ead354f0 EKF2 reset IMU bias if the accel or gyro changes 2017-10-29 16:24:31 +01:00
Paul Riseborough 3fc7aba178 TECS: Use version in ECL library
This change updates a number of interfaces to use the new TECS implementation from the ECL library.
2017-10-22 21:56:06 +02:00
ChristophTobler d7c8d53489 use get() for BlockParam 2017-10-18 11:08:58 +02:00
ChristophTobler 40b8d8bd48 use distance to ground if on ground an distance is out of range 2017-10-18 11:08:58 +02:00
Paul Riseborough ed950d70ce ekf2: Add missing documentation 2017-10-09 08:58:01 +02:00
Paul Riseborough dbc3a13236 ekf2: remove unused parameter
The logging of replay data is now controlled by the logging module
2017-10-09 08:58:01 +02:00
Paul Riseborough 6cfee65060 ekf2: Add parameters to tune accelerometer bias learning
These parameters enable the accel bias limiting and learning inhibit logic in the ecl EKF to be easily tuned during testing and replay.
2017-10-09 08:58:01 +02:00
Paul Riseborough 66277d0c02 ekf2: Added @reboot_required to parameters 2017-10-09 08:58:01 +02:00
ChristophTobler ec61ae0003 ekf2: add some comments 2017-10-04 13:11:11 +02:00
Lorenz Meier f9c9890a49 EKF2: Add minimal stack for M7 targets 2017-09-29 10:13:51 -04:00
ChristophTobler ee82e80517 ekf2: subscribe to multi dist instances and check orientation 2017-09-25 08:52:21 +02:00
Daniel Agar b4755297ec delete control_state and cleanup vehicle_attitude (#7882) 2017-09-21 16:24:53 -04:00
Matthias Grob 5bea264a5f Matrix Quaternions: Apply simpler call for constructor and copying to all remaining modules 2017-09-21 17:44:57 +02:00
Daniel Agar 3498fe0c6f delete sdlog2 EKF2 replay (#7982) 2017-09-19 10:20:41 -04:00
Daniel Agar 545ce9ae24 modules remove extra semicolons 2017-09-16 21:29:52 +01:00
Daniel Agar 9b5fe8c476 ignore -Wsign-compare per module 2017-09-07 10:27:36 +02:00
Daniel Agar dc18112697 EKF2 limit map reprojection (#7900) 2017-09-05 12:56:53 -04:00
Daniel Agar b70b8288b9 px4_includes cleanup incomplete list 2017-08-20 20:42:42 +02:00
Lorenz Meier cae4694d6a EKF: Use estimator scheduling order 2017-08-02 21:18:35 +02: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
ChristophTobler 02ea10ed99 range finder: reject if min/max value 2017-07-31 17:33:02 +02:00
Daniel Agar cf87096b05 EKF2 don't poll parameter_update 2017-07-29 09:15:52 +02: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
ChristophTobler bc951f6f15 add constraint to ground distance to avoid values below rng_gnd_clearance (#7662) 2017-07-22 07:49:00 +10:00
Paul Riseborough f93be992ce ekf2: Update documentation for compatibility with Doxygen (#7657) 2017-07-20 22:05:29 +10:00
ChristophTobler 03e11c4d18 update ecl and add param for innovation consistency checks for range aid fusion (#7585) 2017-07-19 18:25:12 +10:00
Beat Küng d419537a72 ekf2_main: initialize _mag_time_sum_ms & _balt_time_sum_ms 2017-07-18 12:54:28 +02:00
Carl Olsson d92377a6e6 ekf2: remove unused function (#7529)
* ekf2: remove unused function

Signed-off-by: CarlOlsson <carlolsson.co@gmail.com>

* ekf2: removed unused variable _mag_decl_saved

Signed-off-by: CarlOlsson <carlolsson.co@gmail.com>
2017-07-17 17:24:23 +10:00
Nicolae Rosia 0a22a9c47c change gyro & accel dt from float to uint64. This has the benefit of
calculating the estimator timeslip correctly.

Signed-off-by: Nicolae Rosia <nicolae.rosia@gmail.com>
2017-07-16 14:08:37 +02:00
Beat Küng a63699060d ekf2: use ModuleBase & add module documentation 2017-07-14 11:57:11 +02:00
Lorenz Meier 3bdd0e95dd EKF2: Show time slip on console 2017-07-09 21:58:41 +02:00
Lorenz Meier 91144f502f EKF2 build fix 2017-07-07 08:29:10 +02:00
Paul Riseborough 63cbce6bd3 ekf2: Increase RAM to remove stack space warnings 2017-07-06 22:20:48 +02:00
Paul Riseborough ee75f0eb0e ekf2: Use updated quaternion type def 2017-07-06 22:20:48 +02:00