Commit Graph

125 Commits

Author SHA1 Message Date
Silvan Fuhrer 8f858d95e6 Rename equivalent airspeed (EAS) to calibrated airspeed (CAS)
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2020-10-06 09:31:58 +02:00
RomanBapst 338dd45022 vtol: do not control deceleration during backtransition manual, acro or stabilized
Signed-off-by: RomanBapst <bapstroman@gmail.com>
2020-04-14 11:25:09 +02:00
RomanBapst a916cc2a26 better comments
Signed-off-by: RomanBapst <bapstroman@gmail.com>
2020-04-02 13:45:52 +03:00
RomanBapst 47b5d51369 vtol_type: added explicit control over deceleration during backtransition
Signed-off-by: RomanBapst <bapstroman@gmail.com>
2020-04-02 13:45:52 +03:00
RomanBapst b6a80253d7 run l1 during transition 2020-04-02 13:45:52 +03:00
Matthias Grob f90d3671c0 vehicle_attitude_setpoint: get rid of unused q_d_valid flag 2020-02-27 09:17:52 +01:00
Silvan Fuhrer a26e914ef4 VTOL pusher/tilt support: addressed review comments:
- remove gloabl variable and instead give back forward_thrust from function
 - give back increased vertical thrust from fct thrust_compensation_for_tilt()

Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2020-02-07 16:43:44 +01:00
Silvan Fuhrer 5ae4ca8ff1 VTOL: Make pusher assist generic to enable also for tiltrotor
-move pusher assist functionality into vtol_type class and adapt it to also
work for tiltrotor VTOLs (pitch rotors down to accelerate forward)
-for tiltrotor: compensate for lost lift due to tilt by increasing the throttle
-enable pusher / tiltassist also in altitude mode

Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2020-02-07 16:43:44 +01:00
Silvan Fuhrer 1617997dde VTOL: instantly do VTOL mode changes if landed and disarmed
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2019-12-11 20:10:25 -05:00
Silvan Fuhrer ebdc29bc5f Airspeed Selector: enable airspeed_validated in control modules (#12887)
* FW attitude controller, FW position controller and VTOL attitude controller subscribe to airspeed_validated topic
* add possibility to switch off the airspeed valid checks
* remove airspeed valid checks from commander
* clean up of VTOL transition logic
* Airspeed Selector: remove dynamic allocation of airspeed validators (depending on number of connected sensors) but do it statically for the maximum number allowed. Check for number of connected sensors not only during start up, but always when vehicle is disarmed.
* Airspeed Selector: change work queue from lp to att_pos_ctrl as this module is safety-critical
* add airspeed selector to px4_fmu-v2 defaults
2019-11-21 14:14:25 -05:00
Daniel Agar 967446af4c clang-tidy: enable readability-simplify-boolean-expr and fix 2019-10-27 19:19:07 -04:00
Daniel Agar f885d2274a Revert "vtol_att_control: update parameter strings to class enum"
This reverts commit 5351f886ec.
2019-10-03 11:28:51 -04:00
Daniel Agar 5351f886ec vtol_att_control: update parameter strings to class enum 2019-10-02 19:43:32 -04:00
Julian Oes 2ac8841f35 vtol/fw/mc: fix VTOL enum shadowing
This changes the enums used for various VTOL states to enum classes
which makes them type-safe and should avoid shadowing.

This change was motivated by a Clang warning about shadowing of the
enum const TRANSITION_TO_FW which was declared twice, once in
vtol_type.h and once in standard.h.

This change only removes the shadowing but presumably these enums could
be cleaned up and consolidated further.
2019-05-29 23:51:10 -04:00
Julien Lecoeur e1caecc99a VTOL att control: fix roll sign 2019-03-15 00:48:23 -04:00
Roman Bapst 90bfdb6f0a VTOL rate control architecture improvements (#10819)
* attitude and rate setpoint message: use 3D array for thrust demand
* FixedWingAttitudeControl: rework airspeed scaling
  * move airspeed and scaling calculation into separate method
  * if vtol in hover and airspeed disabled use minimum airspeed instead of trim airspeed
2018-11-21 20:32:40 -05:00
Daniel Agar 9a4de09325 sensors remove airspeed negative check 2018-07-16 01:09:19 -04:00
Daniel Agar 02d4405a62 c++11 default destructors 2018-06-30 19:55:08 -04:00
Daniel Agar d0bde9ab2a replace geo _wrap_pi with matrix::wrap_pi 2018-06-12 09:00:52 +02:00
Daniel Agar 4e32cb17df clang-tidy modernize-use-equals-default 2018-05-18 22:48:55 +02:00
Daniel Agar 977ab4e7b8 improve end to end control latency measurement (#9388) 2018-05-02 03:03:32 -04:00
Daniel Agar ea3acb7121 cmake remove circular linking and reorganize
- px4_add_module now requires MAIN
 - px4_add_library doesn't automatically link
2018-04-29 21:48:54 -04:00
Roman 79ff1436b8 vtol_att_control: move handling of motor state and idle speed selection
to VtolType class

Signed-off-by: Roman <bapstroman@gmail.com>
2018-04-12 09:19:47 +02:00
Roman 744f806214 vtol_att_control: merge methods to disable a selection of motors
- moved methods used to modify channel maximum pwm value to VtolType
class so that the can be shared by the differnt vtol types

Signed-off-by: Roman <bapstroman@gmail.com>
2018-04-12 09:19:47 +02:00
Daniel Agar 00f98c64db VTOL preserve PWM min and max when enabling/disabling actuators 2018-04-12 09:19:47 +02:00
Roman e0ca38e794 standard vtol: fix mc weight calculation
Signed-off-by: Roman <bapstroman@gmail.com>
2018-03-07 14:01:51 +01:00
Roman 23257bf6ee standard vtol: simplify blending weight calculation
Signed-off-by: Roman <bapstroman@gmail.com>
2018-03-07 14:01:51 +01:00
Roman 1d8f588d37 vtol_att_control: switch from division to multiplication for variable
calculation

Signed-off-by: Roman <bapstroman@gmail.com>
2018-03-07 14:01:51 +01:00
Roman 196d0e40b4 standard vtol: use time in second since transition start instead of using
microseconds

- seconds is more intuitive
- avoids tons of divisions by 1e6f

Signed-off-by: Roman <bapstroman@gmail.com>
2018-03-07 14:01:51 +01:00
Roman 6900f97b72 vtol_att_control: use airspeed_disabled flag instead of airspeed mode
Signed-off-by: Roman <bapstroman@gmail.com>
2018-03-07 14:01:51 +01:00
Roman daa6c6ffc8 vtol_att_control: consolidated standard parameters & fix usage of hrt_elapsed time
- standard vtol was implementing many custom parameters although they
are generic and should be shared between the vtol types
- removed heavy usage of hrt_elapsed_time() which is a system call and
could be computationally expensive
2018-03-07 14:01:51 +01:00
bresch aca30fc612 VTOL standard - Remove pitch trim 2018-01-29 09:32:51 -05:00
bresch 920cb7a1a1 VTOL standard - Group multicopter weights in update_vtol_state() 2018-01-29 09:32:51 -05:00
bresch d34767b871 VTOL standatd - Simplify multicopter weight in update_transition_state() 2018-01-29 09:32:51 -05:00
Daniel Agar 137a2444a8 VTOL standard respect VT_ELEV_MC_LOCK 2018-01-11 16:18:47 -05:00
Daniel Agar 4416c4ddb3 navigator move parameters out of MissionBlock
- MissionBlock is an interface with > 10 implementations
2017-10-26 22:43:53 +02:00
Daniel Agar b4755297ec delete control_state and cleanup vehicle_attitude (#7882) 2017-09-21 16:24:53 -04:00
Matthias Grob 5bea264a5f Matrix Quaternions: Apply simpler call for constructor and copying to all remaining modules 2017-09-21 17:44:57 +02:00
sanderux b5c3bc7b0f Remove thrust_sp from pusher assist calculation 2017-09-20 10:51:06 +02:00
sanderux 07a995a621 Code style 2017-09-11 12:08:39 +02:00
sanderux 1d2a08bd2d VTOL back transition: check only forward velocity 2017-09-11 12:08:39 +02:00
sanderux 595d706eaf Reverse pusher delay
Thist adds a delay for the reverse thrust to allow the motor to brake and avoid sync issues.
2017-08-30 08:08:25 +02:00
sanderux 33e67fd527 Disable PA during landing 2017-08-16 08:19:06 +02:00
sanderux e6c942033b Disable pusher assist when descending 2017-08-16 08:19:06 +02:00
sanderux 8f5293d7b0 Remove explicit pusher throttle setting 2017-08-16 08:19:06 +02:00
sanderux 33efd89ef8 Disable pusher assist for quadchute failsafe 2017-08-16 08:19:06 +02:00
sanderux 66bb7adc4c simplify back transition throttle scaling 2017-08-16 03:06:13 +02:00
sanderux 6b9a8daceb Correctly name b_trans_thr and remove contraint 2017-08-16 03:06:13 +02:00
sanderux 7a8d3c4ab2 Correctly check reverse thrust conditions 2017-08-16 03:06:13 +02:00
sanderux 4396e78d12 Allow negative thrust on reverse throttle 2017-08-16 03:06:13 +02:00