Daniel Agar
0db706011a
ekf2: move FlowSample update to UpdateFlowSample()
2020-11-11 20:17:52 -05:00
Daniel Agar
8ee197acad
ekf2: move vehicle_odometry_aligned publication to PublishOdometryAligned()
2020-11-11 20:17:52 -05:00
Daniel Agar
b29f3c7ce5
ekf2: move ExtVisionSample update to UpdateExtVisionSample()
2020-11-11 20:17:52 -05:00
Daniel Agar
0f56793116
ekf2: move BaroSample update to UpdateBaroSample()
2020-11-11 20:17:52 -05:00
Daniel Agar
6b30f01daf
ekf2: move AuxVelSample update to UpdateAuxVelSample()
2020-11-11 20:17:52 -05:00
Daniel Agar
651e292d42
ekf2: move AirspeedSample update to UpdateAirspeedSample()
2020-11-11 20:17:52 -05:00
Daniel Agar
f4f3ba47a2
ekf2: move mag calibration to UpdateMagCalibration()
2020-11-11 20:17:52 -05:00
Daniel Agar
96178a6fb0
ekf2: publish yaw estimator status last
2020-11-11 20:17:52 -05:00
Daniel Agar
05de61ff15
ekf2: move estimator innovations publication to method
2020-11-11 20:17:52 -05:00
Daniel Agar
387186c11d
ekf2: move estimator innovation test ratios publication to method
2020-11-11 20:17:52 -05:00
Daniel Agar
3b9965ff8d
ekf2: move estimator innovation variances publication to method
2020-11-11 20:17:52 -05:00
Daniel Agar
94415a45fa
ekf2: move estimator status publication to method
2020-11-11 20:17:52 -05:00
Daniel Agar
03388f4656
ekf2: move estimator states publication to method
2020-11-11 20:17:52 -05:00
Daniel Agar
98334d1325
ekf2: move local position publication to method
2020-11-11 20:17:52 -05:00
Daniel Agar
c09a5e0d9f
ekf2: move global position publication to method
2020-11-11 20:17:52 -05:00
Daniel Agar
8616345346
ekf2: move estimator_sensor_bias publication to method
...
- only publish if there's a change in bias
- publish current estimated mag bias, including saved mag bias
2020-11-11 20:17:52 -05:00
Daniel Agar
e397cbf8bb
ekf2: move ekf_gps_drift publication to method
2020-11-11 20:17:52 -05:00
Daniel Agar
0d657c74bf
ekf2: rename publish helpers mixed case (google style guide)
2020-11-11 20:17:52 -05:00
Daniel Agar
4578b8cdcc
Update submodule ecl to latest Mon Nov 2 09:57:32 EST 2020
...
- ecl in PX4/Firmware (f87b19f31b9918f73d336d10e68d39c659037582): https://github/commit/48a8992caf7a95e09a5e17235133894c072b96bd
- ecl current upstream: https://github/commit/a21092804a784d012939f96cc633e7da5f5e8cde
- Changes: https://github/compare/48a8992caf7a95e09a5e17235133894c072b96bd...a21092804a784d012939f96cc633e7da5f5e8cde
a210928 2020-11-01 Daniel Agar - EKF: remove virtual getters from estimator_interface
2020-11-02 12:44:14 -05:00
Daniel Agar
a1ef4d1469
ekf2: only advertise immediately in multi-EKF mode
2020-11-01 15:48:35 -05:00
Daniel Agar
ecb462f325
ekf2: EKF2.cpp using matrix Eulerf, Quatf, Vector3f
2020-10-29 10:22:57 -04:00
Daniel Agar
d1af095c0b
ekf2: don't store vehicle_status_s
2020-10-29 10:22:57 -04:00
Daniel Agar
d27573b797
ekf2: don't store vehicle_land_detected_s
2020-10-29 10:22:57 -04:00
Daniel Agar
7757aeda94
ekf2: don't store sensor_selection_s copy
2020-10-29 10:22:57 -04:00
Daniel Agar
db5235b074
ekf2: avoid storing message copies
2020-10-29 10:22:57 -04:00
Daniel Agar
3f9f2c6fdf
ekf2: multi ekf supports up to 4 IMUs
2020-10-28 20:50:58 -04:00
Daniel Agar
df2f26ebdf
rename vehicle_visual_odometry_aligned -> estimator_visual_odometry_aligned
...
- saves a small amount of work for the ekf2 selector in multi-EKF mode (visual_odometry_aligned now ignored)
- helps to distinguish the origin/purpose from vehicle_odometry and vehicle_visual_odometry
2020-10-27 12:33:39 -04:00
Daniel Agar
0f411d6820
Multi-EKF support (ekf2)
...
- ekf2 can now run in multi-instance mode (currently up to 9 instances)
- in multi mode all estimates are published to alternate topics (eg estimator_attitude instead of vehicle_attitude)
- new ekf2 selector runs in multi-instance mode to monitor and compare all instances, selecting a primary (eg N x estimator_attitude => vehicle_attitude)
- sensors module accel & gyro inconsistency checks are now relative to the mean of all instances, rather than the current primary (when active ekf2 selector is responsible for choosing primary accel & gyro)
- existing consumers of estimator_status must check estimator_selector_status to select current primary instance status
- ekf2 single instance mode is still fully supported and the default
Co-authored-by: Paul Riseborough <gncsolns@gmail.com >
2020-10-27 10:56:11 -04:00
bresch
09cc3120e2
OpticalFlow: add optical flow velocity logging
...
This is important to align the flow with the IMU data and verify that
the compensation is properly done
2020-10-26 14:10:25 -04:00
Daniel Agar
d985887468
ekf2: use new Param<> reset method
2020-10-15 08:32:05 +02:00
CarlOlsson
98c8cbb27f
ekf2: fix odom body rate sign bug
2020-09-30 11:34:37 -04:00
Daniel Agar
f1feaf45d3
EKF2: move vehicle_odometry publish to method
2020-09-28 18:34:49 -04:00
Jacob Dahl
a24488328f
Move GPS blending from ekf2 to sensors module
...
- new sensors work item that subscribes to N x sensor_gps and publishes vehicle_gps_position
- blending is now configurable with SENS_GPS_MASK and SENS_GPS_TAU
Co-authored-by: Jacob Crabill <jacob@volans-i.com >
Co-authored-by: Jacob Dahl <dahl.jakejacob@gmail.com >
2020-09-25 23:28:31 -04:00
bresch
1141cfa7c6
ekf2_main: reduce update mag bias minimum learning time to 30s
...
120 seconds of learning time in 3D fusion mode was too long for most normal flights. The learned bias is usually really good after a shorter period and was not used to update the parameters. 30s seems to be a good compromise.
2020-09-21 15:54:24 +02:00
bresch
db25f20120
ekf2: move "using" keywords to cpp
2020-09-07 09:42:56 -04:00
Daniel Agar
e5879f1bb6
estimator_sensor_bias: add bias variance
2020-09-04 10:48:26 -04: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
9215fb57a2
ekf2: advertise immediately to ensure consistent uORB instance numbering
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
Daniel Agar
33a7fed240
ekf2: split out header and rename
2020-09-04 10:48:26 -04:00