Commit Graph
1561 Commits
Author SHA1 Message Date
Matthias Grob ba5f2254cd mc_att_control: add reduced quaternion attitude control
to prioritize yaw compared to roll and pitch by combining
the shortest rotation to achieve a total thrust vector with
the full attitude respecting the desired yaw
not by scaling down the control output with the gains
2018-03-15 17:16:14 +01:00
Matthias Grob 9ff9692270 mc_att_control: switch to quaternion attitude control (no yaw reduction yet) 2018-03-15 17:16:14 +01:00
Daniel Agar 1abf90c6d4 EKF2 only publish wind_estimate if wind velocity is being estimated
- refactor body wind velocity calculation
2018-03-15 07:18:58 +01:00
Beat Küng fca99cf775 param: refactor BlockParam classes
- make the selected parameter a template argument. This
  enables type-checking at compile-time.
- move things to src/platforms.
  This provides consistent includes with ModuleBase
- add ModuleParams base class (replaces Block & SuperBlock)
- drop the Block* prefix from the class names
2018-03-13 17:35:15 +01:00
Thomas Stastny 74730273c1 fw_att_control move angular rate limits to body angular rates (#9023)
* ecl: attitude_fw update
- move angular rate limits to body angular rates
- handle rattitude/acro vs attitude mode rate limits
2018-03-08 22:55:45 -05:00
Coby 664001921e quad_plus geometry fix typo in rear motor name (#9008) 2018-03-04 18:24:10 -05:00
Andreas Antener ab9ee3aa6c conversion: added -45 deg pitch rotation 2018-02-28 10:08:58 +01:00
Andreas Antener add20389f6 conversion: added rotation +45 degree in pitch 2018-02-28 10:08:58 +01:00
Paul Riseborough 11e3081efd ecl: Fixes bug preventing use of GPS reported speed accuracy (#8981) 2018-02-28 15:32:01 +11:00
Roman 04a89f7e9b mixer lib: added methods to fetch the active trim values
Signed-off-by: Roman <bapstroman@gmail.com>
2018-02-23 15:28:22 +01:00
Roman 29c60a1fd4 mixer_group: do not clamp offset to arbitrary value
- allow the user to apply an offset that covers the entire servo range

Signed-off-by: Roman <bapstroman@gmail.com>
2018-02-23 15:28:22 +01:00
Paul Riseborough abb067c788 ecl: Use EKF version with external vision nav axis rotation bug fixes (#8935) 2018-02-22 22:02:50 +11:00
Daniel Agar f5c1124812 move tailsitter_recovery lib to mc_att_control 2018-02-04 18:15:57 +01:00
Daniel Agar b3b1161d53 mathlib filters include automatically 2018-02-04 18:15:57 +01:00
Daniel Agar 6f248bc7e9 move runway_takeoff lib to fw_pos_control_l1 2018-02-04 18:15:57 +01:00
Daniel Agar 6a4ef78111 move launchdetection lib to fw_pos_control_l1 2018-02-04 18:15:57 +01:00
Matthias Grob 11d480240a mathlib Functions: removed inline, fixed style 2018-02-02 00:38:01 -05:00
Matthias Grob 8e68f5ed79 mathlib Functions: improve documentation and limit checking 2018-02-02 00:38:01 -05:00
Daniel Agar 2ff81393bc move posix, nuttx, qurt components into platforms 2018-01-31 17:17:07 +01:00
Paul Riseborough 8a1b6d548f ecl: Update to version that fixes height reset bug 2018-01-31 10:46:52 +01:00
ChristophTobler d2e45d14fa update ecl to include ev hgt fix 2018-01-30 12:32:30 +01:00
Paul Riseborough 6ef43e5b75 ecl: Use latest master 2018-01-29 22:30:34 +01:00
Simone Guscetti 47e5382e7e libtunes: insert explicit fallthrough 2018-01-29 09:45:59 -05:00
Simone Guscetti 9cb95b64ca libtunes: change variable name
This make the variable purpose more clear.
2018-01-29 09:45:59 -05:00
Martina 2ec5ea48a3 tunes: for custom tunes set silence from tune control message and set
silence to 0 when the end of the string is reached
2018-01-29 09:45:59 -05:00
Martina d5b2ba276b tunes: change tune update interval to 100000 us 2018-01-29 09:45:59 -05:00
Martina d10372c6b5 tunes: change config_tone definition and add pointer to the beginning
of the tune to repeat it
2018-01-29 09:45:59 -05:00
Martina 1988141c6d tunes: add pointer to the beginning of a tune to allow tune replay 2018-01-29 09:45:59 -05:00
Simone Guscetti 26d2e69ecf libtunes: Add maximum update interval 2018-01-29 09:45:59 -05:00
Simone Guscetti f63be6b055 libtunes: If default tune does not exist
return -EINVAL
2018-01-29 09:45:59 -05:00
Simone Guscetti 915f728145 libtunes: Separate the default tunes from tunes.cpp 2018-01-29 09:45:59 -05:00
Simone Guscetti 591f9a8a38 libtunes: Handle notification tunes as high priority 2018-01-29 09:45:59 -05:00
Simone Guscetti 3f123acd7e libtunes: handle tune override 2018-01-29 09:45:59 -05:00
Simone Guscetti 6c8b16391e libtunes: complete API doc, minor changes 2018-01-29 09:45:59 -05:00
Simone Guscetti b84a97c6d5 libtunes: Changed to a set_control/string and a get_next_tune functions
Now it is possible to set a string and a control.
The get_next_tune function use the same return values as the erliaer
implemented parse_cmd and parse_string functions.
2018-01-29 09:45:59 -05:00
Simone Guscetti 5214642bc3 tunes lib: Minor changes 2018-01-29 09:45:59 -05:00
Simone Guscetti e9ea7ab698 lib tunes: clean up 2018-01-29 09:45:59 -05:00
Simone Guscetti 79ae413982 lib tunes: Add string input method 2018-01-29 09:45:59 -05:00
Simone Guscetti 8ce57bedb7 libtunes: create a new library for tunes
cmake configs: Modify to include new library
2018-01-29 09:45:59 -05:00
Simone Guscetti c8a1050323 libled: allow infinite flashing mode 2018-01-19 11:55:39 +01: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
ChristophTobler 6d3dda2802 update DriverFramework to get ltc2946 fix (#8693) 2018-01-15 14:33:22 -05:00
ChristophTobler 872cba12d4 update ecl submodule 2018-01-15 11:11:56 +01:00
ChristophTobler 9ac70ff639 update DriverFramework submodule to include LTC2946 driver 2018-01-14 12:56:49 +01:00
Daniel Agar 2756c76613 mixer lib delete old multi_tables.py and cleanup cmake (#8658) 2018-01-11 15:56:15 -05:00
Daniel Agar 2cccbee0d5 runway_takeoff use BlockParamBool for RWTO_TKOFF 2018-01-09 09:11:39 +01:00
Daniel Agar 3d7afaafbd launchdetection use BlockParamBool for LAUN_ALL_ON 2018-01-09 09:11:39 +01:00
Daniel Agar a9bbbdce82 controllib add BlockParamBool (int32 wrapper) 2018-01-09 09:11:39 +01:00
Matthias Grob be8adbfdf3 Cygwin: refactored & simplified some of the OS define logic 2018-01-05 14:47:33 -05:00