Commit Graph
47063 Commits
Author SHA1 Message Date
Julien Lecoeur f06695c7b1 CircleCI: install python-toml 2017-11-15 09:56:10 +01:00
Julien Lecoeur 4991ab5362 Mixers: use key list to select multirotor mixer 2017-11-15 09:56:10 +01:00
Daniel Agar aa789f5e8a voted sensors set enabled by default 2017-11-15 01:34:59 -05:00
Daniel Agar fabab8ac4d sensors remove barometer enabled check for now 2017-11-15 01:34:59 -05:00
Paul Riseborough 16154423c8 matlab: update optical flow derivation
Support use of sensors with arbitrary orientation in body frame
2017-11-15 11:16:19 +11:00
Daniel Agar 8d27925443 change CAL_MAG_SIDES param group 2017-11-14 15:54:37 -05:00
Daniel Agar 1ccbaf4cd2 sensors params split by sensor index 2017-11-14 15:54:37 -05:00
Daniel Agar 273742aa0d add boolean parameters to enable/disable each sensor 2017-11-14 15:54:37 -05:00
Daniel Agar 84f07c64b0 Navigator RTL fully initialize mission item in each state 2017-11-14 14:57:34 -05:00
Daniel Agar 98cbd44526 RTL check alt_max before using
- fixes #8257
2017-11-14 14:57:34 -05:00
Dennis Mannhart 05c00855c4 navigator: reset triplets if navigation mode changes (#8285) 2017-11-14 11:32:21 -05:00
Julien Lecoeur ef906d08d3 Jenkins: update docker image (#8286) 2017-11-14 10:01:07 -05:00
Paul Riseborough a410893080 ecl: Update ekf2 to version that addresses known vulnerabilities
See:

https://github.com/PX4/ecl/pull/350
https://github.com/PX4/ecl/pull/354

Note the amount of stack allocation has had to be increased to accomodate pr350
2017-11-13 22:50:12 +01:00
Beat Küng c2c8ed6f5c navigator: make FollowTarget::_follow_position_matricies constexpr (#8281)
The matrix is never changed and has a size of 144 bytes.
2017-11-13 12:30:33 -05:00
ChristophTobler f2e8aabda4 use int32_t instead of int 2017-11-13 16:59:03 +01:00
Julian Oes 585b03898f vtol_att_control: ack transition commands
Previously transition commands were not acked at all which meant that a
mavlink consumer such as a ground station would not get feedback if the
command arrived.

This solution is not optimal because it does not take into account if
the transition actually happened but at least it is feedback that the
command has arrived at the destination.
2017-11-13 09:56:11 -05:00
Lorenz Meier 4028692bfe Navigator: Limit string copy to length of target array 2017-11-13 09:59:54 +01:00
korigod c3fe7e989e integrationtests: upgrade numpy before px4tools install (#8274)
During px4tools installation, the latest version of pandas is
installed, which requires numpy>=1.9.0. Pandas installs the required
version, however, due to the presence of the old numpy in the docker
image, the present version 1.8.2 is used, which leads to an error
when importing pandas.

This commit fixes the problem by explicitly upgrading numpy before
px4tools installation.

Signed-off-by: Andrey Korigodsky <akorigod@gmail.com>
2017-11-12 23:33:36 -05:00
Paul Riseborough cc651ac472 Merge pull request #354 from PX4/ekfMagYawReset-wip
Prevent loss of navigation accuracy after in-flight mag yaw alignment
2017-11-13 07:32:23 +11:00
Paul Riseborough 72a7ab2c25 EKF: Improve resistance to bad initial mag offset
When magnetic field states have been reset in-flight using a single sample, the magnetic field states are not used to constrain heading drift for a period after the reset. This period has been shortened from 10 to 5 seconds which is enough time to average out the effects of measurement noise (the original concern). The shorter time has enabled the previous practice for RW vehicles of using magnetic heading in that time period to constrain yaw drift to be discontinued. This is necessary becasue while magnetic heading is being used, it fights the yaw corrections obtained from GPs observations and lengthens the time required to recover from a bad mag calibration.
2017-11-13 07:05:56 +11:00
Paul Riseborough df9f48d2d3 EKF: Fix build error 2017-11-13 07:05:56 +11:00
Paul Riseborough 44c50ab2df EKF: Correct magnetic yaw measurement using learned mag biases
Don't apply bias corrections when biases are being learned to avoid possible circular data dependency.
2017-11-13 07:05:56 +11:00
Paul Riseborough c70363c501 EKF: Don't fuse heading if FW and waiting for mag states to stabilise
Doing so is a bad idea because bad mag data can drag the yaw angle away from the reset value and lead to rejection of GPS.
2017-11-13 07:05:56 +11:00
Paul Riseborough 279fc836f7 EKF: Always reset covariance matrix terms when doing vel pos state reset
If state errors were large before the reset, then failure to reset the covariance matrix terms can result in incorrect fusion of position and velocity measurements after the reset due to inconsistencies in the covariance matrix.
2017-11-13 07:05:56 +11:00
Paul Riseborough 141264fe63 EKF: Add method to set diagonals in covariance matrix 2017-11-13 07:05:56 +11:00
Paul Riseborough 32de90b9ef EKF: Add method to zero covariance terms 2017-11-13 07:05:56 +11:00
Paul Riseborough f3e34eddc9 EKF: do not attempt to align FW yaw using GPS method if on ground 2017-11-13 07:05:56 +11:00
Paul Riseborough 8f27d3fc54 EKF: don't reset quaternion states unnecessarily
When performing the initial in-flight mag yaw reset for RW vehicle, do not reset the quaternion states and corresponding variances unless there has been a change in yaw angle large enough to cause problems with navigation.
This is because the state estimates after a reset are more vulnerable to transient sensor errors, so a reset should be avoided if possible.
2017-11-13 07:05:56 +11:00
Paul Riseborough 9e47b6e1b6 EKF: don't reset quaternions unnecessarily
When performing the initial in-flight magnetic field reset for fixed wing vehicles, resetting the quaternion states and their corresponding covariances should be avoided unless yaw errors are large, because state estimates are vulnerable to transient sensor errors immediately following a reset.
2017-11-13 06:55:02 +11:00
Paul Riseborough 29d383edbf EKF: Allow mag field estimates to stabilise before use 2017-11-13 06:55:02 +11:00
Paul Riseborough 363edf5eb9 EKF: Fix yaw reset for fixed wing
Ensures that a complete reset of velocity and position states will always be performed if yaw has had to be reset using GPS velocity.
Ensures that the yaw_align status cannot be set to false once the filter has aligned.
2017-11-13 06:55:02 +11:00
garfieldG cddea6f4b3 Fixed version firmware type (#8250)
* Fixed the version tag to number and version tag to vendor version number to return dev version in case of any local modifications or in case there's a dash before firmware type in tags that support vendor  version.
v1.7.0-rc0
2017-11-11 20:04:16 -05:00
Paul Riseborough 7852c0ed03 Merge pull request #312 from PX4/pr-ekfExtVisQuat
EKF: Enable operation with arbitrary External Vision reference frame
2017-11-12 08:35:39 +11:00
Paul Riseborough 5fd006ca48 EKF: remove redundant code 2017-11-11 07:06:01 +11:00
Julien Lecoeur 4e7bd576cb generate_listener.py: generate one function per topic to fit function sizelimit 2017-11-09 10:54:35 +01:00
Julien Lecoeur 8f2759ba79 topic_listener: allow multi-topic messages 2017-11-09 10:54:35 +01:00
ChristophTobler 368248fe6d Merge pull request #353 from PX4/pr-expo_int_cast
EKF: use uint64_t cast for XeY to avoid float casting of variables
2017-11-08 11:54:39 +01:00
ChristophTobler e388e59f32 EKF: use uint64_t cast for XeY to avoid float casting of variables
The default type for XeY is float
2017-11-08 11:40:26 +01:00
Beat Küng cf7140526a jMAVSim: update submodule to include fix for VMware driver 2017-11-08 10:47:57 +01:00
Daniel Agar 0a58bd309c EKF2 always publish status message (#8234)
* EKF2 always publish status message

* EKF2 fix comment typo

* EKF2 time slip use signed int and consolidate

* EKF2 minor readability improvements
2017-11-08 07:55:50 +11:00
Matthias Grob 3bd94fcd6f Test vector: structured & commented, added normalize and unit_or_zero tests, removed duplicate data preparation 2017-11-06 17:58:52 +01:00
Matthias Grob 9e59691e43 Vector: Additional normalization with check for zero norm because it occurs so many times in applications 2017-11-06 17:58:52 +01:00
Daniel Agar aa699cf4b7 Jenkins track test results (#8236) 2017-11-05 15:04:14 -05:00
TSC21 5a17f6b2d5 lpe: update _sensorTimeout init on constructor 2017-11-03 23:45:43 +01:00
TSC21 483f0d55e0 lpe: style fix 2017-11-03 23:45:43 +01:00
TSC21 051822eee1 lpe: remove unneeded subscriber to manual_control_setpoint 2017-11-03 23:45:43 +01:00
TSC21 691c35f47e lpe: small fixes 2017-11-03 23:45:43 +01:00
TSC21 e6efb5ec0a lpe: update _sensorTimeout and _sensorFault to handle support of more sensors 2017-11-03 23:45:43 +01:00
TSC21 392999c2df lpe: fix innovation covariance publishing 2017-11-03 23:45:43 +01:00
avinash-palleti 76fcd99241 Fix protocol_splitter compilation issues (#8230)
Fixing compilation warnings which are treated as errors.
2017-11-03 15:35:46 +05:30