Commit Graph
43 Commits
Author SHA1 Message Date
Julien Lecoeur 5f06c6a1aa VTOL: add parameter to prevent flight if roll direction was not checked
Mark V19_VT_ROLLDIR @category system

Throttle down mavlink critical msg

Send 0 actuator_output for safety

VTOL: unset v1.9 roll direction safety check param for builtin airframes
2019-03-15 00:48:23 -04:00
Julien Lecoeur e28f8a7f2e VTOL mixers: invert FW roll sign in builtin mixers
This inversion matches the fixed sign in the commands generated
by the VTOL attitude controller.
This commit, combined with the previous commit, should have no effect.
For safety, it is recommended to check the direction of roll control
surfaces before flight.
2019-03-15 00:48:23 -04:00
Julien Lecoeur e1caecc99a VTOL att control: fix roll sign 2019-03-15 00:48:23 -04:00
Julien Lecoeur fe83378db4 Tiltrotor: Do not lock elevons in multirotor mode
The behaviour is unchanged because VT_ELEV_MC_LOCK was not implemented for tiltrotors
2019-02-03 22:33:42 -05:00
Julien Lecoeur 6c1d85716c Convergence: Do not lock elevons in multirotor mode
The behaviour is unchanged because VT_ELEV_MC_LOCK was not implemented for tiltrotors
2019-02-03 22:33:42 -05:00
Julien Lecoeur 15f9b70431 Claire: Do not lock elevons in multirotor mode
The behaviour is unchanged because VT_ELEV_MC_LOCK was not implemented for tiltrotors
2019-02-03 22:33:42 -05:00
Julien Lecoeur 9b5dd1596f FireFly6: Do not lock elevons in multirotor mode
The behaviour is unchanged because VT_ELEV_MC_LOCK was not implemented for tiltrotors
2019-02-03 22:33:42 -05:00
Julien Lecoeur 57f9104420 VTOL tiltrotor: respect VT_ELEV_MC_LOCK 2019-02-03 22:33:42 -05:00
Julien Lecoeur a346619623 Logger: add debug_array topic 2018-09-27 12:33:12 -04:00
Julien Lecoeur 7f665a70e7 Update MAVLink, Thu Sep 27 07:43:26 2018 2018-09-27 12:33:12 -04:00
Julien Lecoeur e380adb9b6 Fix format with Artistic Style 3.1 2018-05-15 10:38:49 -04:00
Julien Lecoeur b299d6222a Astyle: allow version 3.1 2018-05-15 10:38:49 -04:00
Julien Lecoeur b7d7d1209b px_generate_mixers.py: scale mixer so that sum(z_thrust_scale)==n_rotors 2018-01-17 00:01:00 -05:00
Julien Lecoeur 262d9c790b MultirotorMixer: Apply thrust gain independently from other axes
Align the way motor output is computed with the model used in the mixer generation script.
previous:
`out = (roll_gain*roll + pitch_gain*pitch + yaw_gain*yaw + thrust)*out_gain`
new:
`out = roll_gain*roll + pitch_gain*pitch + yaw_gain*yaw + thrust_gain*thrust`
which is the standard matrix*vector multiplication.

This commit has 0 effect on symmetric platforms (i.e. most) as thrust_gain==1 on these platforms.
On asymmetric platform --where some thrust_gain are lower than 1-- the previous formulation resulted in coupling between thrust and other axes.

fixes #8628
2018-01-17 00:01:00 -05:00
Julien Lecoeur 0e65753568 Iris: set mixer to quad_wide
The geometry was previously quad_deadcat in which front motors are closer to CG and thus more loaded in hover.
quad_wide is the same geometry as quad_deadcat except the CG is centered so all motors are loaded equally.
Flight logs on IRIS with deadcat mixer showed that
- all motors are equally loaded during hover (actuator_outputs 0 to 3 have similar values)
- a negative pitch offset is building up soon after takeoff (visible in actuator_controls)
2018-01-16 16:09:15 +01:00
Julien Lecoeur ed10921a67 [TO REVERT] Archlinux docker image: use tag pr-archlinux 2017-12-10 01:07:02 +00:00
Julien Lecoeur 0bd5744ebb Jenkins: build posix_sitl_default and nuttx_px4fmu-v5_default under ArchLinux (GCC7) 2017-12-10 01:07:02 +00:00
Julien Lecoeur bcceadcb85 NuttX: silence warnings -Wimplicit-fallthrough and -Wnonnull-compare 2017-12-05 22:51:43 -05:00
Julien Lecoeur 9fb98dad3e Fix warning -Wimplicit-fallthrough 2017-12-05 22:51:43 -05: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
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
Julien Lecoeur bc006b81fc can_boot_descriptor: python3 compatibility 2017-07-18 08:24:37 +02:00
Julien Lecoeur 940f2c3cca Update libuavcan submodule, fix arm-none-eabi-gcc 7.1.0 warnings 2017-07-18 08:24:37 +02:00