Commit Graph

1414 Commits

Author SHA1 Message Date
Matthias Grob f2250c1952 FlightTasks: made a FlightTask inherit from SuperBlock to have Block::Subscription s
FlightTask Manual: subscription made setpoint conversion according to vehicle attitude work
2018-04-05 07:30:12 +02:00
Matthias Grob a8a2b4b6f3 FlightTasks: switched output position setpoint to be pointer based
changed "NULL"-pointers to "nullptr" for better compliance
2018-04-05 07:30:12 +02:00
Matthias Grob 28f4d18062 FlightTasks: added FlightTaskManual as replacement for the current stick based position controlled flight
it's a draft and only works for velocity setpoints oriented in NED frame yet

# Conflicts:
#	src/lib/FlightTasks/tasks/FlightTaskOrbit.cpp
2018-04-05 07:30:12 +02:00
Matthias Grob a9d0990bb8 FlightTasks: added a temporary hardware switch for task switch testing 2018-04-05 07:30:12 +02:00
Matthias Grob 73f633dfd2 FlightTasks: added possibility to set velocity setpoint, switched Orbit to feedback velocity algorithm 2018-04-05 07:30:12 +02:00
Matthias Grob e51e5f3e01 FlightTaskOrbit: added constraints for parameters & defined linear velocity instead of angular 2018-04-05 07:30:12 +02:00
Matthias Grob 88bf40e3cb FlightTasks: added simple task switching with possibility do disable FlightTasks completely 2018-04-05 07:30:12 +02:00
Matthias Grob 37cb8c1a59 FlightTasks: added access to prepared velocity state for every task 2018-04-05 07:30:12 +02:00
Matthias Grob 8da1d3b16e FlightTasks: give every FlightTask access to prepared stick input and position state 2018-04-05 07:30:12 +02:00
Matthias Grob 225f99af16 FlightTasks: created an array for all tasks and a method to set the general input pointers for all of them 2018-04-05 07:30:12 +02:00
Matthias Grob 32a1ff733d FlightTasks: switch input from pointers in parameters passed on every run to private pointers of the base class with safety getter and setter 2018-04-05 07:30:12 +02:00
Matthias Grob f3357aeca4 FlightTasks: make the orbit example actually orbit 2018-04-05 07:30:12 +02:00
Matthias Grob b52f541492 FlightTasks: added timer in base class that counts from activation on including possibility to reset in subclass 2018-04-05 07:30:12 +02:00
Matthias Grob c21c36dd8d FlightTasks: added wrappers for filling setpoint vectors, made time dependent example 2018-04-05 07:30:12 +02:00
Matthias Grob 93ae260f44 FlightTasks: introduce new library to handle advanced features like orbit follow me and so on
it's only a draft setup yet and not functional for real use

the object is for now managed by the mc_pos_control module
but it stays as encapsulated as possible to enable the instance to reside in any trajectory module in the future
2018-04-05 07:30:12 +02:00
PX4 Jenkins acc93092db Update submodule matrix to latest Sun Apr 1 21:55:42 UTC 2018
- matrix in PX4/Firmware (76a3dbc9df): https://github.com/PX4/Matrix/commit/e7c95fa027675f38f14b06344bf9855883013727
 - matrix current upstream: https://github.com/PX4/Matrix/commit/21d47424c6050bb94da5de3f7580a8df66b6fcc7
 - Changes: https://github.com/PX4/Matrix/compare/e7c95fa027675f38f14b06344bf9855883013727...21d47424c6050bb94da5de3f7580a8df66b6fcc7

21d4742 2018-03-31 Daniel Agar - Quaternion mark const helpers const
2018-04-01 18:54:38 -04:00
PX4 Jenkins 76a3dbc9df Update submodule matrix to latest Sun Apr 1 17:27:33 UTC 2018
Latest: https://github.com/PX4/Matrix/commit/e7c95fa027675f38f14b06344bf9855883013727

Changes from matrix (https://github.com/PX4/Matrix/commit/61af508755c59d177c4e61a35cbfa270b06d9684) in current PX4/master (9fc1755c33)
https://github.com/PX4/Matrix/compare/61af508755c59d177c4e61a35cbfa270b06d9684...e7c95fa027675f38f14b06344bf9855883013727

e7c95fa 2018-03-27 James Goppert - Fix README/cmake format.
d142ac2 2018-03-27 James Goppert - Fix coverage and bug in matrix equal test.
50446a5 2018-03-18 Daniel Agar - Matrix add == and != operators
2018-04-01 15:16:46 -04:00
PX4 Jenkins 059ddf88f4 Update submodule DriverFramework to latest Sun Apr 1 18:11:03 UTC 2018
- DriverFramework in PX4/Firmware (82a7343a7d): https://github.com/PX4/DriverFramework/commit/29f386628af2c9dd6a95cb873d0624c0c0c58381
 - DriverFramework current upstream: https://github.com/PX4/DriverFramework/commit/f98ea65e9bd35a8d2bdedd39e519b7320fe82b16
 - Changes: https://github.com/PX4/DriverFramework/compare/29f386628af2c9dd6a95cb873d0624c0c0c58381...f98ea65e9bd35a8d2bdedd39e519b7320fe82b16

f98ea65 2018-01-15 Daniel Agar - remove platforms__nuttx dependency
2018-04-01 14:59:52 -04:00
PX4 Jenkins 82a7343a7d Update submodule ecl to latest Sun Apr 1 17:26:07 UTC 2018
Latest: https://github.com/PX4/ecl/commit/ba2b9dfdd96d50d697165407b88b5bc94cdef84c

Changes from ecl (https://github.com/PX4/ecl/commit/39b69af9bf8340790011c7c2723d4ed725ea0a3b) in current PX4/master (9fc1755c33)
https://github.com/PX4/ecl/compare/39b69af9bf8340790011c7c2723d4ed725ea0a3b...ba2b9dfdd96d50d697165407b88b5bc94cdef84c

ba2b9df 2018-03-28 Daniel Agar - update matrix lib usage
2018-04-01 14:09:46 -04:00
Beat Küng 576f4e02da tunes: fix constness for _default_tunes
_default_tunes was marked as 'const char *' array, which means the data
of the array was not actually const and thus landed in the data section
(so in RAM instead of FLASH).
The size of the array is 64 bytes.
2018-03-29 10:06:21 -04:00
Daniel Agar d8de624851 update ECL to latest with geo lib 2018-03-26 23:16:55 -04:00
Daniel Agar 29b3950747 move geo and geo_lookup to PX4/ecl 2018-03-26 23:16:55 -04:00
Alessandro Simovic 9d3dfb7864 libtunes: addressing comments of #9117 2018-03-26 14:54:23 +02:00
Alessandro Simovic 6e1c495268 libtunes: added TUNE_MAX_STRENGTH 2018-03-26 14:54:23 +02:00
Alessandro Simovic 80d80835a0 libtunes: fixed some type conversions and other minor changes 2018-03-26 14:54:23 +02:00
Alessandro Simovic 92b89368f1 libtunes: fixed playback of string melodies 2018-03-26 14:54:23 +02:00
Alessandro Simovic 7d9b09b5e5 libtunes: made logic in Tunes::set_control() more obvious 2018-03-26 14:54:23 +02:00
Alessandro Simovic 4e479b7f04 libtunes: renamed config_tone() to reset() 2018-03-26 14:54:23 +02:00
Alessandro Simovic 6ce839ea1e libtunes: added tone strength as state and output to libtunes
Since the tune library also contains logic how tunes can be overriden,
a user of the tunes library cannot know the strength of the current tune
without replicating some logic. Easy solution is to add strength to the
output of Tunes::get_next_tune().
2018-03-26 14:54:23 +02:00
Alessandro Simovic acdc81ea0a libtunes: cleanup / docs 2018-03-26 14:54:23 +02:00
Alessandro Simovic d455c1e7e1 libtunes: Repeating tunes can be interrupted without override
Otherwise the only way of interrupting a repeated tune would be with the override flag, which should only be used rarely.
Now repeating tunes have lowest priority, followed by one-shot tunes, followed by anything with an override flag.
2018-03-26 14:54:23 +02:00
Alessandro Simovic 34836a2b21 libtunes: allow custom tune (id 0) to be used to stop playback.
Override flag must still be set to true!
2018-03-26 14:54:23 +02:00
Alessandro Simovic 2cf93df918 libtunes: _repeat was uninitialized. Defaulting to false now.
Bugfix: This fixes a bug where libtunes might indicate that there are more tones to play even after the last note of a tune.
2018-03-26 14:54:23 +02:00
Alessandro Simovic f47443f283 libtunes: (bugfix) sending a custom msg tune overrides everything
Custom msg tune can override any tune playing, regardless of the tune_override flag.
2018-03-26 14:54:23 +02:00
bresch 81a80e0d56 Airmode - Minor rewording 2018-03-23 10:35:08 +01:00
bresch 7ef3ae8828 Multicopter mixer - Recompute safe roll_pitch_scale if not in air-mode
If not in air-mode the mixer is not able to apply positive boosting
and roll_pitch_scale is recomputed to apply symmetric - reduced - thrust.
This has the consequence to cut completely the outputs when the thrust is
set to zero.
2018-03-23 10:35:08 +01:00
Beat Küng f21ab05f48 mixer_multirotor: fix comment thrust_gain -> thrust_scale
Added in 262d9c790b.
2018-03-23 10:35:08 +01:00
bresch 6976232a20 Airmode - Add airmode parameter for multicopter mixer 2018-03-23 10:35:08 +01:00
bresch 851c3657d1 Multicopter mixer - Use already computed value instead of recomputing it 2018-03-23 10:35:08 +01:00
bresch 803eb9ac32 Multicopter mixer - Simplify and correct mistakes of roll-pitch motor saturation handling 2018-03-23 10:35:08 +01:00
bresch 450e7c6774 Multicopter mixer - Remove arbitraty boost gain during saturation 2018-03-23 10:35:08 +01:00
bresch 096e2ec629 Multicopter mixer - Always unsaturate high-saturated motors when possible 2018-03-23 10:35:08 +01:00
bresch df194b1de4 Multicopter mixer - Rewrite unnecessarily complicated conditions 2018-03-23 10:35:08 +01:00
bresch 5da2842dbc Multicopter mixer - Always unsaturate low-saturated motors when possible 2018-03-23 10:35:08 +01:00
Daniel Agar 1b174eeca2 drivers replace math::Vector<3> with matrix::Vector3f 2018-03-21 13:48:45 -04:00
Roman 32a848d312 updated ecl for airdata module 2018-03-21 18:46:58 +01:00
Daniel Agar b6b7fddb9f TECS and L1 switch to matrix math library (#9101) 2018-03-19 18:09:54 -04:00
Daniel Agar e63f9d9bf6 mathlib Limits move radians/degrees to header (#9102) 2018-03-19 12:45:42 -04:00
Martina be275b880b tunes: add fallthrough macro 2018-03-19 14:15:52 +01:00
Simone Guscetti 879c698cab libtunes: Change TuneID::ERROR in ERROR_TUNE
This prevents the expanction of the ERROR macro inside the TuneID enum
2018-03-19 14:15:52 +01:00