Daniel Agar
2750961be6
c++11 initialization cleanup ( #237 )
8 years ago
Daniel Agar
7883085e4a
clang-tidy readability-simplify-boolean-expr ( #235 )
8 years ago
Paul Riseborough
26a06567bb
EKF: add missing initialisation for class variables
8 years ago
Paul Riseborough
6358bbd257
EKF: remove self assignment
8 years ago
Daniel Agar
a7cdef6c5c
clang-tidy modernize-redundant-void-arg
8 years ago
Paul Riseborough
3c4c09593f
EKF: Rationalise console messages
...
Combine the observation action buffer and alignment messages
Ensure all data timeout messages are warnings.
Use consistent terminology.
8 years ago
Paul Riseborough
5ad329b641
EKF: Fix variable names to match convention
8 years ago
Paul Riseborough
403424d55d
EKF: fix cross compiler build errors
8 years ago
CarlOlsson
15768f6f93
adopted ekf.cpp
8 years ago
Paul Riseborough
65762e5998
EKF: publish output predictor tracking errors
8 years ago
Paul Riseborough
c81f9f1dba
EKF: Reduce output predictor tracking errors
...
Implements a PI tracking loop
8 years ago
Roman
cc05db4985
terrain estimator: pass initialisation return value correctly
...
Signed-off-by: Roman <bapstroman@gmail.com>
9 years ago
Paul Riseborough
7bc9217f00
EKF: Clean up control of observation fusion
...
All the decision for a sensor are made within a specific function for that sensor and when there is data to process at the fusion time horizon.
Information and warning messages are improved.
9 years ago
Paul Riseborough
34ffffa021
EKF: Prevent use of non time-stamped invalid data during initialisation
...
Fixes bad height initialisation seen intermittently with snapdragon
9 years ago
CarlOlsson
eded0a8f7e
activate tas fusion, off by default
9 years ago
Paul Riseborough
081e17729c
EKF: delay commencement of 3D mag fusion until clear of ground
...
Wait until enough height has been gained to be clear of ground based magnetic anomalies. Failure to do so can result in incorrect earth field initialisation.
9 years ago
Paul Riseborough
81ca167da8
EKF: align output observer to EKF states on startup
9 years ago
Paul Riseborough
733862f649
EKF: move the reset status struct to the Ekf class
...
This protects it from being modified externally
9 years ago
Paul Riseborough
aca0336392
EKF: update vertical position and velocity reset capture
...
Use reset event struct members instead of separate variables
9 years ago
Paul Riseborough
65da9173b9
EKF: capture innovation checks and reset events in separate variables
...
rename the innovation check status class variable and remove the reset flags from it.
9 years ago
Paul Riseborough
388e500180
EKF: remove un-used magnetometer health class variable
...
replaced by _sensor_health_status
9 years ago
Paul Riseborough
aea827aa8a
EKF: ensure filter fault status is initialised
9 years ago
Paul Riseborough
106482b078
EKF: add structure to capture innovation test failures and state resets
9 years ago
Paul Riseborough
70c40d695d
EKF: Initialise alignment noise filters using valid data
...
Don't initialise the states for the alignment data noise filters until the buffers have been flushed
9 years ago
Paul Riseborough
c905684c12
EKF: Ensure bad initial data is flushed from buffers before using data to perform alignment
9 years ago
Paul Riseborough
98c0b74a71
EKF: Initialise height correctly when using external vision data
...
If EV height selected ensure switch to correct height mode as soon as EV data is received
The 0 height datum is not at the initialisation position, so the height state needs to be reset to the measurement on startup
9 years ago
Paul Riseborough
1b6c5bbafd
EKF: Enable height source to be selected independent of EV aiding
9 years ago
Paul Riseborough
90d65071c1
EKF: Add output predictor processing option
...
Setting the velocity tracking tine constant to a negative number causes the output predictor to use a different method of correcting the velocity which provides a velocity output that is kinematically consistent with the position output.
This may improve height controller performance under some circumstances
9 years ago
Carl Olsson
0fafc49a49
fixed typos ( #147 )
9 years ago
CarlOlsson
eb70aca2e8
deleted second update of transformation matrix
9 years ago
waltjohnson
7c158aa59b
Addressed C99 compiler issues of initializing variables in header and unused included statements.
9 years ago
Paul Riseborough
b9a3712ccb
EKF: record yaw alignment event during initialisation to allow heading fusion to start early
...
This ensures bad yaw gyro biases are compensated for early, rather than waiting for the tilt alignment to fully converge before fusing heading.
9 years ago
Paul Riseborough
22fba0fc6e
EKF: don't initialise filter without EV data if we are relying on it
9 years ago
Nic
1b16f3575a
added ev_pos flag check to valid_lpos, disable fake gps when ev_pos is valid
9 years ago
Paul Riseborough
c955bfbf93
EKF: fix previous merge error
9 years ago
Paul Riseborough
349c731375
EKF: remove PX4 dependant text output
9 years ago
devbharat
cf1df5861a
Undid hack in ecl. Handled yaw missalignment on the vision side.
9 years ago
devbharat
d16f413b55
Hack to fix external vision pos offset compensation
9 years ago
devbharat
d3bad9fdb0
Correct height fusion flag when using sensor other than baro
9 years ago
devbharat
b681c9a5d0
Added external vision noise parameters etc and position offset
9 years ago
devbharat
ff8f03b5dd
Added compensation for VI sensor offset. Check sign.
9 years ago
Paul Riseborough
e917d6c7f2
EKF: Add fusion of external yaw data
9 years ago
Paul Riseborough
25f1d1d766
EKF: Add fusion of external vision 3D pos data
9 years ago
Paul Riseborough
81469d6621
EKF: Add position, height and velocity reset for EV aiding
9 years ago
Paul Riseborough
c7e225124c
EKF: Improve output observer position and velocity tracking
...
Replace the delayed time feedback mechanism used by the translational states with a direct feedback method.
Time constants for velocity and position convergence can be separately adjusted with tunable parameters
The method is more computationally more expensive because it requires modification of the output buffer history but is acceptable because it only requires 6 FLOP per buffer index for a total of 30*6 = 180 FLOP
The method was not applied to the attitude states because the quaternion operations required at each buffer index would have been computationally prohibitive.
9 years ago
Paul Riseborough
627d08ecc9
Revert "EKF: Fix bug in output observer"
...
This reverts commit 03f3df7415
.
9 years ago
Paul Riseborough
03f3df7415
EKF: Fix bug in output observer
...
Bug was causing output observer state history to be stored at the the EKF, not IMU output rate and resulted in degraded tracking performance
9 years ago
Paul Riseborough
481c624975
EKF: Remove use of vehicle arm status
...
Use single externally set in-air status for all decisions
9 years ago
Paul Riseborough
0c6a367e1b
EKF: fix Travis build error
9 years ago
Paul Riseborough
22f0f52bf1
EKF: fix travis build error
9 years ago