Paul Riseborough
03fed323ab
EKF: Fix formatting
2021-01-05 21:08:28 +11:00
Paul Riseborough
c65cf13bb8
EKF; Treat combined sideslip and airspeed as a horizontal aiding source
2021-01-05 21:08:28 +11:00
Daniel Agar
398fe159ce
EKF: allow initialising without mag depending on configuration
...
- reduce initial number of required mag and baro samples before init
2020-12-17 19:55:51 +11:00
Mathieu Bresciani
8f3df7a97b
flow: restructure optical flow control logic ( #928 )
...
- extract motion checks performed on ground
- move all non-timing check to controlOpticalFlowFusion. This simplifies and standardirzes the setOpticalFlowData function. Furthermore, in some cases (SITL, PX4Flow), the dt is forced to 0 when the quality is 0 (which is usual on ground) so the ekf needs to ignore those values on ground to initialize properly the flow fusion.
- add filter convergence test
- move check for dt time max in setOpticalFlowData
- in the simulator, do not update dt as this is the sensor integration
period.
2020-12-09 11:33:00 +01:00
Paul Riseborough
944b18c63e
EKF: Remove non useful status print
...
Local position is never valid when filter is initialised so there is no use printing the status.
2020-12-08 18:03:04 -05:00
Daniel Agar
03cfcb903e
EKF: RingBuffer minor improvements
...
- allocate IMU and output buffers on construction according to defaults
- determine buffer max time delay based on configuration parameters
- reorder flowSample and extVisionSample to minimize padding
- adjust parameter defaults to match PX4-Autopilot
2020-12-03 20:48:51 -05:00
Daniel Agar
a21092804a
EKF: remove virtual getters from estimator_interface
2020-11-02 09:35:47 -05:00
Daniel Agar
defb35d8f5
EKF: pass imuSample by const reference
2020-10-30 09:47:22 -04:00
kamilritz
b5e1397c0f
Add const modifier
...
const modifier
Add missing const modifier
2020-07-16 18:25:06 +02:00
bresch
aa96fa6d9e
Random style fixes in the code
2020-06-05 20:44:30 +02:00
Daniel Agar
47624a0f02
EKF increase delta velocity process noise per axis if clipping ( #663 )
2020-04-08 08:51:51 +10:00
kamilritz
2fa43419d2
Interface: output vector quantities by "return-by-value"
2020-03-30 13:07:00 +02:00
CarlOlsson
b6420d0b79
ekf: add vehicle at rest to flags
2020-02-12 18:58:24 +01:00
kritz
ee859e092a
Robustify timestamp checks ( #729 )
...
* Robustify timestamp checks
* Remove lowerbound on sensor timestamp
* Add tests for fusion timeouts
* Inline and const time check functions
* Rename dead_reckoning time variable
2020-01-28 20:33:16 +11:00
bresch
e3af91c9ce
Ekf: use helper functions to centralize the checks of horizontal aiding (gps, flow, ev_pos, ev_vel)
2020-01-24 17:22:50 +04:00
kamilritz
a3e1eb9d50
Checkout to matching firmware if possible
2020-01-24 16:18:42 +03:00
kamilritz
f3d790a664
Update optical flow interface
2020-01-24 16:18:42 +03:00
RomanBapst
cafb1400fb
estimator_interface: bugfix, set range sample correctly
...
Signed-off-by: RomanBapst <bapstroman@gmail.com>
2020-01-24 13:03:04 +01:00
kamilritz
de33885658
Update setExtVisionData interface
2020-01-23 14:50:43 +01:00
kamilritz
37201fb071
Remove legacy imu interface
2020-01-23 09:34:07 +11:00
kamilritz
7c3a2f839b
Update range finder interface
2020-01-23 09:34:07 +11:00
kamilritz
4fb2d1b02e
Update range finder interface
2020-01-23 09:34:07 +11:00
kamilritz
9f0d8ed59e
Update mag interface
2020-01-23 09:34:07 +11:00
kamilritz
856961ba85
Update airspeed interface
2020-01-23 09:34:07 +11:00
kamilritz
b8a3ed5f09
Update baro interface
2020-01-23 09:34:07 +11:00
kamilritz
74ec80cdc7
Update gps interface
2020-01-23 09:34:07 +11:00
kamilritz
83b2abe434
protect against overflow
2020-01-21 10:09:48 +03:00
kamilritz
4be9ae8029
Compute the timestamp of average sample correctly
2020-01-21 10:09:48 +03:00
kamilritz
29c5954690
Move baro downsampling and dynamic pressure comp to ECL
2020-01-21 10:09:48 +03:00
kamilritz
d7d7b56519
Move mag down sampling to ECL lib
2020-01-21 09:36:02 +03:00
kamilritz
be11516dd6
Refactor IMU downsampling into its own class
2020-01-09 19:43:29 +11:00
kamilritz
c7e074276f
Save flash space
...
This commit saves roughly 400-500 Bytes in flash space
2020-01-09 19:43:29 +11:00
kamilritz
84dcb32bd8
Extend auxVel interface to support 3d velocity
2020-01-08 14:36:03 +01:00
kamilritz
07e8e88e88
Support full vision variance
2020-01-08 14:36:03 +01:00
kamilritz
1fcfd394dd
Various small non-functional improvements
2020-01-08 09:00:31 +01:00
kamilritz
0b18143745
Improve readibility
2020-01-08 09:00:31 +01:00
kamilritz
3daf25763e
Remove unnecessary comments
2020-01-08 09:00:31 +01:00
kamilritz
36da8d82c8
Clean up white space
2020-01-08 09:00:31 +01:00
kamilritz
9e6d27fafb
Add missing const qualifier
2020-01-08 09:00:31 +01:00
kritz
532c9abd4a
Expand test framework and test cases ( #685 )
...
* Fix comment
* Ekf wrapper for testing
Add utility function for accessing information in the ekf object
* Add step function for Gps sensor
* Add RangeFinder and Flow to simulated sensors
* Add first fusion logic tests
* Add units to function name
* Use EXPECT_TRUE
* Adding missing qualifiers
* Improve EXPECT_ calls
* Improve naming
2019-12-17 11:35:45 +01:00
kritz
6c25ac5731
Tilt Initialisation: Average Filter -> LowPass Filter ( #686 )
...
* Tilt Initialisation: Average Filter -> LowPass Filter
* Add _is_first_imu_sample variable
* Remove not needed comments
2019-12-17 11:01:25 +01:00
Daniel Agar
98a1aae494
EKF: use Matrix cross product
2019-12-17 09:35:08 +01:00
kamilritz
1bf09fd370
Remove EKF prefix from logged messages
2019-12-12 08:48:10 +01:00
kritz
4a38f5a2f6
Add timestamp to ECL print statements, ( #644 )
...
which is helpful for EKF replay debugging.
2019-09-25 11:24:42 +02:00
kamilritz
fd6b364c11
posNED to pos and velNED to vel and add ev vel covariances to reset
2019-09-24 07:48:46 +10:00
kamilritz
1e57c4bbec
Fix white space
2019-09-24 07:48:46 +10:00
kamilritz
4511b9ff5e
Add missing checks for flags.ev_vel
2019-09-24 07:48:46 +10:00
kamilritz
149233a9ab
Add velocity observations to external vision interface
2019-09-24 07:48:46 +10:00
Nico van Duijn
640e41cba7
EKF: change rangeSample quality to int8_t
2019-09-12 17:45:37 +10:00
Nico van Duijn
a12186c285
terrain_estimator: introduce quality metric in rng
...
This commit introduces a quality measure in the range data. It is
used to properly decide whether to initialize the HAGL estimate on
sensor data or MIN_HGT parameter, as well as in the decision of
whether a 'fake' measurement should be published on the ground to
allow for optical flow take-offs.
2019-09-12 17:45:37 +10:00