Peter Dürr
a2ed0a76f9
Make the destructor of EstimatorInterface virtual
...
* This is a sane choice (and should arguably always be done for classes with
virtual methods to avoid undefined behavior)
* It is required for wrapping the EstimatorInterface with SWIG (without virtual
destructor, deriving from the EstimatorInterface leads to
-Werror=delete-non-virtual-dtor).
2017-08-14 12:02:03 +02:00
Paul Riseborough
3983ac23fa
Merge pull request #316 from PX4/pr-ekfTrueAirspeed
...
EKF: Add true airspeed accessor
2017-08-11 08:18:04 +10:00
Paul Riseborough
35ffd55481
EKF: Fix incorrect use of double precision operation
2017-08-07 10:34:19 +10:00
Paul Riseborough
cc5db74d1b
EKF: Add true airspeed accessor
2017-08-07 09:19:48 +10:00
Paul Riseborough
596b8220e2
EKF: Output mag sensor isolation warning first time only
2017-07-31 19:39:07 +10:00
Paul Riseborough
ce806768b7
EKF: Improve in-flight mag error detection, recovery and isolation for fixed wing
2017-07-31 19:39:07 +10:00
Paul Riseborough
c230663b68
Merge pull request #309 from PX4/pr-ekfYawFusion
...
EKF: Improve efficiency of yaw fusion for External Vision
2017-07-31 19:37:15 +10:00
Paul Riseborough
3ee6898710
EKF: Enable origin to be maintained when starting aiding using EV only
...
When starting aiding using EV only and commencing GPS aiding later, this change means that the GPS origin is set to the local position 0,0 point rather than the current vehicle position. This avoids large changes in local position when GPs aiding starts.
2017-07-29 15:31:34 +10:00
Paul Riseborough
e08da1c599
EKF: Add ability to use EV and GPS data together
...
Fuse external vision data using a relative position odometry method when GPS data is also being used and enable both GPOS and EV data to be fused on the same time step.
2017-07-26 18:06:18 +10:00
Paul Riseborough
f3909244f0
EKF: Correct units in comments
2017-07-25 09:17:18 +10:00
Paul Riseborough
20584ee997
EKF: Improve efficiency of heading fusion calculations when using EV heading
...
Moves calculation only required for mag heading fusion into the if (_control_status.flags.mag_hdg) branch
When using EV yaw, the observed yaw angle is calculated directly from the EV quaternions using derived expressions from references in code comments.
2017-07-21 10:56:14 +10:00
Paul Riseborough
df34b43c00
Merge pull request #308 from PX4/pr-ekfDoxygen
...
EKF: Update documentation and make compatible with Doxygen
2017-07-21 10:55:18 +10:00
Paul Riseborough
aec01ce59c
EKF: Update class variable documentation and make compatible with Doxygen
2017-07-20 20:16:42 +10:00
ChristophTobler
61a7991693
constrain _terrain_vpos to be a minimum of _params.rng_gnd_clearance larger than _state.pos(2)
2017-07-20 08:29:11 +02:00
Paul Riseborough
e1fe5b2229
Revert "Revert "Split get_terrain_vert_pos() into valid and get_vpos""
2017-07-19 17:52:35 +10:00
Paul Riseborough
c887b02f21
Revert "Split get_terrain_vert_pos() into valid and get_vpos"
2017-07-19 17:33:48 +10:00
ChristophTobler
e429ecab17
check if terrain valid instead of initialized
2017-07-17 16:43:23 +02:00
ChristophTobler
eae0522dc2
split into get_terrain_valid and get_terrain_vert_pos
2017-07-17 16:42:42 +02:00
ChristophTobler
517fe8a71f
rng aid: use hysteresis with lower hagl check
2017-07-17 13:36:51 +02:00
ChristophTobler
8ed61ac052
init rng offset with ground clearance param when on ground to avoid noisy init
2017-07-13 17:43:19 +02:00
ChristophTobler
d2945abd85
return hagl valid false if update was rejected
2017-07-13 14:17:48 +02:00
Paul Riseborough
9ee35e38df
EKF: Don't fallback when optical flow is lost if external vision data is being used
2017-07-13 20:21:41 +09:00
Paul Riseborough
1bb576c197
EKF: Allow fallback to non-aiding mode if external vision is lost.
2017-07-13 20:21:41 +09:00
Isaac
f96685267e
Fixed vision position fusion bug
2017-07-10 13:44:51 +10:00
Paul Riseborough
ec2b54fde7
EKF: Ensure normal yaw alignment using mag is performed if GPS method is not
2017-07-08 11:13:40 +02:00
Paul Riseborough
d446f66105
EKF: Add a fixed wing mode with setter function
2017-07-08 11:13:40 +02:00
Paul Riseborough
f064915889
EKF: Enable planes to recover from bad mag data at start of flight
...
Adjusts yaw by the amount of the error between GPS and EKF course if innovations are large.
2017-07-08 11:13:40 +02:00
Paul Riseborough
929f205a00
EKF: Changes arising from code review
2017-07-04 08:12:15 +10:00
Paul Riseborough
7b5f55303a
EKF: Prevent covariance instability in delta velocity bias state estimation
2017-07-03 21:04:07 +10:00
Paul Riseborough
eb1e73ec81
Merge pull request #283 from PX4/ekf_matrix_cleanup
...
EKF matrix typedef cleanup
2017-07-03 21:02:24 +10:00
Paul Riseborough
ae118940b1
Merge pull request #292 from PX4/pr-use_baro_align
...
use baro for the ekf alignment if range finder is primary height source
2017-07-03 20:31:16 +10:00
Paul Riseborough
dfbc9de48e
Merge pull request #291 from PX4/pr-ekfWindEstBugFix
...
EKF: Fix bug affecting wind estimation for planes
2017-07-01 11:06:58 +10:00
ChristophTobler
ed8fa16678
use baro for the ekf alignment if range finder is primary height source
2017-06-30 10:28:57 +02:00
Paul Riseborough
59edccca4a
EKF: Fix bug in wind estimation for fixed wing
2017-06-30 10:32:54 +10:00
Paul Riseborough
ba4a311771
EKF: Update comments for wind estimation logic
2017-06-30 10:32:23 +10:00
Paul Riseborough
8e0cd1bc39
EKF: Add parameter to set initial and max allowed wind uncertainty
...
This enables the initial uncertainty to be set based on application and also ensures that the max allowed growth in wind state variance is consistent with the initial uncertainty specified.
2017-06-30 10:31:16 +10:00
ChristophTobler
e1274ad28a
move faultiness check above pop_first_older_than() and check independent of range aid to switch back to original sensor if available
2017-06-29 17:07:58 +02:00
ChristophTobler
0d9e535acb
Use baro if reset to baro from gps and vice versa
2017-06-29 17:07:42 +02:00
ChristophTobler
4a4b0fa604
remove setting rng faulty in ev mode because not checked
2017-06-29 10:01:16 +02:00
ChristophTobler
066c641d61
range aid: switch to baro/gps even if rng aid conditions met and rng faulty
2017-06-29 09:47:02 +02:00
ChristophTobler
2f382c8e0e
if hgt mode is range, switch to baro if range is faulty
2017-06-29 09:47:02 +02:00
ChristophTobler
e4f36215cb
if in range aid mode, check faultiness that otherwise would never change back
2017-06-29 09:47:02 +02:00
ChristophTobler
e800de88b6
remove duplicate
2017-06-29 09:47:02 +02:00
Daniel Agar
c44488fdb8
EKF matrix typedef cleanup
2017-06-19 11:10:01 -04:00
ChristophTobler
6f5cffafec
fix type of range_aid parameter: int -> int32_t
2017-06-15 10:14:59 +02:00
ChristophTobler
1fed209804
fix formatting
2017-06-15 09:10:43 +02:00
Roman
5036967343
barometer does not special height sensor offset because a barometer
...
offset from the local origin is calculated if the primary source for
height is not baro
Signed-off-by: Roman <bapstroman@gmail.com>
2017-06-15 09:10:43 +02:00
Roman
c5d464b821
make range sensor height offset computation more robust
...
- when switching to range finder use the current terrain estimate as
height sensor offset, otherwise spikes in the range measurements could lead
to a wrong offset
Signed-off-by: Roman <bapstroman@gmail.com>
2017-06-15 09:10:43 +02:00
Roman
182ea43445
fixed baro offset calculation
...
- do not subtract the height sensor offset variable when computing the
baro offset from the local origin. The baro height offset is calculated
when baro is not fused and so the height sensor offset used in that case
is associated to another sensor and has nothing to do with the baro.
Signed-off-by: Roman <bapstroman@gmail.com>
2017-06-15 09:10:43 +02:00
Roman
39983a7d55
range aid: added hysteresis for switching in and out of range aid
...
- prevents rapid switching
- added innovation consistency check for using range aid
Signed-off-by: Roman <bapstroman@gmail.com>
2017-06-15 09:10:43 +02:00