Commit Graph

42 Commits

Author SHA1 Message Date
bresch 5818974f0f ekf: add range finder "faulty" status
When delclared faulty, the range finder cannot be used anymore
2022-02-11 10:57:45 -05:00
Daniel Agar f3e2a197ad
move vehicle at rest detection ekf2 -> land_detector
- move vehicle at reset detection ekf2 -> land_detector
 - ekf_unit: reduce init period
   - Fake fusion is when at rest is quite strong and makes the variance reduce rapidly. Reduce the amount of time we wait before checking if the variances are still large enough.
 - ekf_unit: reduce minimum vel/pos variance required after init
   - Fake pos fusion has a low observation noise, making the vel/pos variances reduce quickly.

Co-authored-by:: bresch <brescianimathieu@gmail.com>
2022-02-01 17:50:19 -05:00
bresch 01d0b8800e commander: report GNSS yaw fault to user 2021-08-05 11:10:02 +02:00
Daniel Agar cff7a01d5e
ekf2: estimator_status log reset counts 2021-02-17 21:16:34 -05:00
Antonio Sanjurjo Cortés fa45eacea3 Fix and unify the maximum allowed PDOP references 2021-02-04 10:20:22 +01:00
Daniel Agar d44e537084
ekf2: update to new ecl to fix fault status getter
- estimator_status filter_fault_flags was broken because the union within ecl/EKF has exceeded 16 bits
2020-12-10 12:45:41 -05:00
Daniel Agar c54a0ff0c7 estimator_status: add device ids for accel/baro/gyro/mag 2020-09-04 10:48:26 -04:00
Daniel Agar 20c2fe6d28 estimator messages add explicit timestamp_sample
- timestamp is uORB publication metadata
 - this allows us to see what the system saw at publication time plus the latency in estimation
2020-09-04 10:48:26 -04:00
Daniel Agar 9ccc1db649 estimator_status split out estimator_states 2020-09-04 10:48:26 -04:00
kamilritz b73c80428e ECL: Clean velPos logging, deprecate ekf2_innovations msg 2019-12-05 11:29:29 +01:00
bresch 09c8c8f706 ekf: use PDOP instead of GDOP as TDOP (part of GDOP) is not given by the GNSS receiver 2019-11-27 10:33:27 +01:00
bresch 12177cb33b commander: add pre-flight check and parameter for magnetic field strength 2019-11-25 21:15:55 +01:00
Mathieu Bresciani 549fb0d5de
ekf2_main - Add optical flow innovation pre-flight check (#13036)
* ekf2: Add FirstOrderLpf and InnovationLpf classes for innovation lowpass filtering

* ekf2: use InnovLpf filter class in preflight checks

* ekf2: move selection of yaw test limit for pre-flight check in function

* ekf2: Move pre-flight checks into separate function

* ekf2: use static constexpr insetead of inline for sq (square) function

* ekf2: Split pre-flight checks in separate functions
Also use the same check for all the innovations:
innov_lpf < test and innov < 2xtest

* ekf2: Add optical flow pre-flight check

* ekf2: Combine FirstOrderLpf and InnovationLpf in single class

* ekf2: check vel_pos_innov when ev_pos is active as well

* ekf2: transform InnovationLpf into a header only library and pass the
spike limit during the update call to avoid storing it here

* ekf2: Static and const cleanup
- set spike_lim constants as static constexpr, set innovation
- set checker helper functions as static
- rename the mix of heading and yaw as heading to avoid confusion

* ekf2: use ternary operator in selectHeadingTestLimit instead of if-else

* ekf2: store intermediate redults in const bool flags. Those will be used for logging

* ekf2: set variable const whenever possible

* ekf2: create PreFlightChecker class that handle all the innovation
pre-flight checks.
Add simple unit testing
Use bitmask instead of general flag to have more granularity

* PreFlightChecker: use setter for the innovations to check instead of sending booleans in the update function
This makes it more scalable as more checks will be added

* ekf: Use booleans instead of bitmask for ekf preflt checks
Rename "down" to "vert"
2019-10-22 16:22:42 +02:00
CarlOlsson fd4caa849d msg: add gps_yaw and mag_aligned to estimator_status
Signed-off-by: CarlOlsson <carlolsson.co@gmail.com>
2019-02-05 19:31:30 -05:00
TSC21 e932030d88 add timestamp field to uORB msgs; sync timestamp whenever possible 2018-08-09 13:40:48 +02:00
Daniel Agar d04aef65d0 estimator_status reduce size of n_states 2018-08-03 17:42:48 -04:00
Daniel Agar 2bf90574ed estimator_status separate LPE only flags and comment 2018-08-03 17:42:48 -04:00
Daniel Agar da68ea0d11 estimator_status delete unused nan_flags 2018-08-03 17:42:48 -04:00
Paul Riseborough e5d428bd65 msg: add definitions for estimator status control mode bit positions 2018-06-09 13:38:04 +02: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
Florian Achermann 87646c4ea4 Update the Description of the estimator_status Message (#8346)
* Fix description of GPS check fail bits in estimator status message
2017-12-11 11:15:34 -05:00
Paul Riseborough 92bcc63418 msg: add pre flight check status message 2017-12-04 09:09:54 +00:00
Beat Küng 20e987faa9 estimator_status: add missing descriptions for control_mode_flags 2017-10-05 10:04:02 +02:00
CarlOlsson 6a9f47b31e msg: Fix documentation of filter_fault_flag in estimator status msg
Signed-off-by: CarlOlsson <carlolsson.co@gmail.com>
2017-09-13 05:48:35 -07:00
Beat Küng 6fcd7d9529 estimator_status.msg: fix documentation of innovation_check_flags 2017-06-29 16:06:06 +02:00
ChristophTobler 929ecd0e94 change to uint32 to match updated type from ecl 2017-06-21 09:28:42 +02:00
Paul Riseborough e2242f87c9 msg: update estimator_status
Reduce unnecessary length of state and covariance arrays
Add time slip monitor
2017-05-20 10:24:08 +02:00
Paul Riseborough 57de9eccf5 msg: Code review recommendations for estimator_status 2017-05-03 08:37:14 +02:00
Lorenz Meier 9efb1a59f2 msg: Add GPS check fail definitions to estimator_status 2017-05-03 08:37:14 +02:00
Paul Riseborough 79ec263b1e msg: Change definition for un-used vibration monitoring variable
Makes the message more useful in comparing the types of vibration likely to cause numerical errors and matches the update ecl library interface.
2016-10-22 12:03:05 +02:00
Paul Riseborough eb51184bbd msg: Update estimator_status documentation 2016-10-15 12:00:49 +02:00
Paul Riseborough fa47569aa5 msg: Add EKF solution status flags to estimator status message 2016-10-11 08:52:35 +02:00
Paul Riseborough 2bda15d72b msg: Add innovation test data to estimator status 2016-10-11 08:52:35 +02:00
Miguel Arroyo f999fbe440 Publishes LPE GPS epv and eph as estimator status. (#5413)
* Publishes LPE GPS epv and eph as estimator status.

* Adds timestamp
2016-09-03 22:00:51 +02:00
Daniel Agar 76387b1693 uorb autogeneration 2016-05-14 11:27:07 +02:00
Paul Riseborough 163ad19957 msg: update documentation for estimator status 2016-05-11 14:53:55 +02:00
Paul Riseborough e8c34fa30e msg: add filter internal fault message 2016-05-11 14:53:55 +02:00
Paul Riseborough ba5d608cad msg: Add control mode data to estimator status 2016-04-20 21:47:29 +02:00
Lorenz Meier 29d417beb7 Messages: Add vibration levels and onboard / offboard sensors 2016-02-25 15:57:37 +01:00
Paul Riseborough bfd182d12e msg: Add GPS check status to estimator_status uORB topic 2016-01-31 22:12:11 +01:00
Youssef Demitri 66a637dcc7 added covariances to estimator_status and logging 2015-06-24 15:28:09 +02:00
Lorenz Meier 06ba8d924a Move estimator_status to generated topics 2015-05-27 15:21:31 -07:00