Commit Graph
47938 Commits
Author SHA1 Message Date
Daniel Agar ed9a394029 EKF RingBuffer avoid copying 2017-11-15 18:08:51 -05:00
Paul Riseborough 44eaa076db Merge pull request #356 from PX4/pr-ekfMiscUpdate
EKF: Remove redundant code
2017-11-16 07:05:18 +11:00
Beat Küng 3744cac1bb fix mc_att_control: re-add dropped acro parameters (#8293)
and make sure the vtol params are always initialized

This got lost in 4416c4ddb3
v1.7.0-rc1
2017-11-15 10:08:22 -05:00
Paul Riseborough 44a71ad6c9 ekf2: Update parameter descriptions (#8292)
Make it clearer that the gate parameters control innovation consistency checks and that the gate size is specified in standard deviations.
Also make it clear that the EKF2_BARO_GATE also controls the GPS height fusion.
2017-11-15 09:19:08 -05:00
Paul Riseborough 2b20c52c4d EKF: Remove redundant code 2017-11-15 22:03:17 +11:00
Paul Riseborough cfdab732d1 EKF: Update parameter description 2017-11-15 21:28:11 +11:00
Matthias Grob 26171df9fc mc_pos_control: save previous velocity setpoint after constraining, fix smooth takeoff to be still excluded from slewrate 2017-11-15 10:38:57 +01:00
Julien Lecoeur 26d95ef674 Mixers: Include mixer_multirotor_normalized.generated.h everywhere 2017-11-15 09:56:10 +01:00
Julien Lecoeur 2ca00f1a65 Docker: update images to tag 2017-10-23 2017-11-15 09:56:10 +01:00
Julien Lecoeur 4be4ad86a0 Mixers: Add geometry quad_s250aq 2017-11-15 09:56:10 +01:00
Julien Lecoeur 3a1c5f8a94 Mixers: do not allow several mixers with same name or key 2017-11-15 09:56:10 +01:00
Julien Lecoeur 76447b0f4e Mixers: Use geometry filename as mixer name 2017-11-15 09:56:10 +01:00
Julien Lecoeur d43b33b1c4 Move src/lib/mixer/geoms to src/lib/mixer/geometries 2017-11-15 09:56:10 +01:00
Julien Lecoeur b6911c2266 Mixers: Rename geom -> geometry(ies) 2017-11-15 09:56:10 +01:00
Julien Lecoeur c95229faab Mixers: add --verbose option to print matrices 2017-11-15 09:56:10 +01:00
Julien Lecoeur 142cd7ee75 Mixers: write to stdout if no output file is provided 2017-11-15 09:56:10 +01:00
Julien Lecoeur 679f33b406 Mixers: raise exception if no input geometry is provided 2017-11-15 09:56:10 +01:00
Julien Lecoeur 9e045e3b2a Mixers: use os.path.join 2017-11-15 09:56:10 +01:00
Julien Lecoeur 89642a9203 Move src/module/systemlib/mixer to src/lib/mixer 2017-11-15 09:56:10 +01:00
Julien Lecoeur d46c37be79 Mixers: raise exception when geom file is incomplete
pylint format
2017-11-15 09:56:10 +01:00
Julien Lecoeur cb8d951a7e Mixers: add geoms quad_vtail (tilted props) and quad_y (rear coax props)
quad_vtail: reverse prop direction (same quad_h) to combine yaw torque induced by propellers and yaw torque induced by tilted rotors.
2017-11-15 09:56:10 +01:00
Julien Lecoeur 3e35dcb7dd Mixers: Use geometry of SK450 deadcat for both quad_wide (centered CG) and quad_deadcat (off-centered CG) 2017-11-15 09:56:10 +01:00
Julien Lecoeur 758d214dd1 Mixers: Add geometries
Mixers: add quad_x, quad_h, quad_plus

Mixers: add quad_deadcat

Set quad_deadcat.toml according to dimensions of SK450 deadcat

Mixers: add hex_x, hex_plus, hex_cox and hex_t

Mixers: add geoms octa_x, octa_plus, octa_cox

Mixers: add wide geoms

Mixers: add tri_y and twin_engine geoms

Mixers: add dodeca geoms

Mixers: Add geom quad_x_pusher
2017-11-15 09:56:10 +01:00
Julien Lecoeur 2c4228ce98 Mixers: generate all versions (new,normalized,6dof,legacy) 2017-11-15 09:56:10 +01:00
Julien Lecoeur 99f6c4dbc3 Mixers: Generate from geometry description files
Mixers: List geom files in CMakeLists.txt

Mixers: add option to normalize like legacy script

Fix py2 compatibility
2017-11-15 09:56:10 +01:00
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