Paul Riseborough
fac292fef9
Merge pull request #321 from dagar/pr-ekf_formatting
...
EKF trivial code style cleanup
2017-08-26 18:17:23 +10:00
Daniel Agar
99ba1c3745
EKF trivial code style cleanup
2017-08-25 10:09:11 -04:00
ChristophTobler
89236ef275
Merge pull request #314 from PX4/pr-check_stuck_rng
...
Pr check stuck rng
2017-08-21 07:54:06 +02:00
Peter Dürr
305a95aef9
Integrate Python-based tests and benchmark into Travis
...
* Unfortunately, due to the SWIG dependency, we need sudo to install on
Travis (conflicts when adding with debian-sid source prevent using addons)
which means we cannot use the container-based infrastructure anymore.
* Building the Python bindings requires g++5 (at least with -Werr set).
* When building the Python bindings on Travis, the numpy includes are not found
by cmake, so they have to be added separately by running a Python process with
`numpy.get_include()`
* The build script now (somewhat clumsily) depends on the RUN_PYTEST environment
variable. If it is set to anything other than "", it will make the tests and
run tests and benchmarks
2017-08-14 12:02:03 +02:00
Peter Dürr
15c8c24418
Fix time units on plots
...
* Time in plots was of by a factor of 1e3 due to wrong conversion from us.
2017-08-14 12:02:03 +02:00
Peter Dürr
b29067a188
Better handle Python dependencies
...
* Add requirements.txt file with required Python packages
* Read requirements.txt from CMakeLists.txt to check dependencies and alert the
user if necessary.
2017-08-14 12:02:03 +02:00
Peter Dürr
bb5719a0da
Add Python wrapper to ecl and use it to test functionality
...
* Add SWIG interface definition (and external numpy interface) to ecl classes
* Add section in CMakeLists.txt to build Python bindings and execute
Python-based tests
* Write (property-based) tests that show the basic functionality of the Python
bindings and the EKF (using pytest and hypothesis libraries)
* Write minimal benchmark for the EKF update (using benchmark plugin for pytest)
* Add plotting utilities to analyze tests
* Add lint script to keep the Python scripts clean
2017-08-14 12:02:03 +02:00
Peter Dürr
5988900044
Add getters for a few private variables of the EstimatorInterface
...
* For testing it is useful to have access to more internal states
* For the same reason I also promote the const FILTER_UPDATE_PERIOD_MS to
public
2017-08-14 12:02:03 +02:00
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
9cf0948bcf
matlab: add derivation for air data error equations
2017-08-12 20:59:41 +10: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
967720a9d7
Merge pull request #313 from PX4/pr-ekfYawReset
...
EKF: Improve in-flight mag error detection, recovery and isolation for fixed wing
2017-08-08 20:59:49 +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
ChristophTobler
8ecec58292
Check for stuck range finder measurements in terrain estimator
2017-07-31 17:59:44 +02:00
ChristophTobler
7252284628
Add check for stuck range finder measurements
2017-07-31 17:59:16 +02:00
ChristophTobler
41f4b62cdb
fix indentation
2017-07-31 17:58:03 +02: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
ba5de96fcb
Merge pull request #311 from PX4/pr-ekfExtVis
...
EKF: Add ability to use EV and GPS data together
2017-07-29 16:29:53 +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
74d1955dfa
Merge pull request #310 from PX4/pr-ekfFixComments
...
EKF: Correct units in comments
2017-07-26 16:28:44 +10:00
Paul Riseborough
f3909244f0
EKF: Correct units in comments
2017-07-25 09:17:18 +10:00
Paul Riseborough
33e8d5923f
matlab: Allow replay to handle late start GPS data in log
...
Also minor fix to comments.
2017-07-24 16:34:50 +10:00
Paul Riseborough
e18f92d9c2
matlab: Improve conversion of APM log data
...
Allow file conversion to work with unequal length GPS and GPA data.
Allow file conversion to work if range, flow and odometry data is not present.
2017-07-24 16:33:12 +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
5aeeebf7ac
matlab: Fix derivation for 321 Euler rotation sequence
2017-07-21 10:48:54 +10:00
Paul Riseborough
26b5f26891
matlab: Add scripts to calculate rotation conversions for 321 or 312 Euler sequences
2017-07-21 10:22:17 +10:00
Paul Riseborough
aec01ce59c
EKF: Update class variable documentation and make compatible with Doxygen
2017-07-20 20:16:42 +10:00
Paul Riseborough
627f8184b3
Merge pull request #307 from PX4/pr-constrain_vpos
...
constrain _terrain_vpos to be a minimum of _params.rng_gnd_clearance …
2017-07-20 17:35:35 +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
9b6e1ab2a7
Merge pull request #306 from PX4/revert-305-revert-303-pr-get_terr_valid
...
Revert "Revert "Split get_terrain_vert_pos() into valid and get_vpos""
2017-07-19 17:54:18 +10: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
13f8d949bd
Merge pull request #305 from PX4/revert-303-pr-get_terr_valid
...
Revert "Split get_terrain_vert_pos() into valid and get_vpos"
2017-07-19 17:34:03 +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
a59cf894d2
Merge pull request #303 from PX4/pr-get_terr_valid
...
Split get_terrain_vert_pos() into valid and get_vpos
2017-07-17 17:29:20 +02: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
c42f820072
Merge pull request #295 from PX4/pr-rng_aid_hagl_hyst
...
rng aid: use hysteresis with lower hagl check
2017-07-17 16:05:45 +02:00
ChristophTobler
517fe8a71f
rng aid: use hysteresis with lower hagl check
2017-07-17 13:36:51 +02:00
ChristophTobler
9da9aa632d
Merge pull request #298 from PX4/pr-fix_rng_offset
...
init rng offset with ground clearance param when on ground to avoid n…
2017-07-17 13:33:10 +02:00
Paul Riseborough
18e81eba31
Merge pull request #300 from nicolaerosia/ekf2-dt
...
sensor_combined stores deltas in usec instead of seconds
2017-07-17 07:25:27 +10:00
Nicolae Rosia
5277141166
sensor_combined stores deltas in usec instead of seconds
...
Signed-off-by: Nicolae Rosia <nicolae.rosia@gmail.com>
2017-07-16 20:50:16 +03:00
Paul Riseborough
e2a5e57e14
matlab: Update replay scripts
...
Miscellaneous fixes and tuning changes.
Add plotting of Euler angle uncertainties.
2017-07-16 12:56:02 +10: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
667517a9b6
Merge pull request #301 from PX4/pr-fix_hagl_valid
...
return hagl valid false if update was rejected
2017-07-13 17:28:53 +02:00
ChristophTobler
d2945abd85
return hagl valid false if update was rejected
2017-07-13 14:17:48 +02:00