Commit Graph
65 Commits
Author SHA1 Message Date
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
Silvan Fuhrer 4e3f65e376 disable spinup tilt sequence if spinup tilt parameter is set to 0
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2020-04-08 21:12:53 -04:00
Silvan 7e4a53f292 VTOL tiltrotor: introduce spin up time with spin up tilt angle
As some tiltrotor systems need a certain tilt angle of their motors in oder to spin up freely,
this commit introduces an additional parameter VT_TILT_SPINUP and sets the motor tilt to
this value if disarmed or within 1s since arming.

The spinup consists of 2 phases:
    1st phase fixed tilt (duration hardcoded to 1s)
    2nd phase transition from spinup tilt to multicopter tilt (hardcoded to 0.5s)

Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2020-04-08 21:12:53 -04:00
RomanBapst 005bc97959 tiltrotor: enable l1 and deceleration control during transition
Signed-off-by: RomanBapst <bapstroman@gmail.com>
2020-04-02 13:45:52 +03:00
Silvan Fuhrer b9fab04adb tiltrotor: improve comments and renaming of one variable
This is to point out that also rear motor can be used in FW flight and not only the front motors

Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2020-03-05 11:49:42 +03:00
Silvan Fuhrer 9ba0d5b706 tiltrotor tilt support: fix thrust compensation constraining
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2020-02-07 16:43:44 +01:00
Silvan Fuhrer 4c9dba8692 VTOL type and tiltrotor: use math::constrain() for constraining
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2020-02-07 16:43:44 +01:00
Silvan Fuhrer e3310796ce tiltrotor: limmit the adapted thrust for tilt to [0,1]
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2020-02-07 16:43:44 +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 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 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
Daniel Agar a10b1afb54 vtol_att_control vtol_type enum -> enum class 2019-05-30 09:04:08 -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
Julien Lecoeur 34717f7005 Merge pull request #11288 from PX4/pr-tiltrotor_noairspeed_transition_check
tiltrotor: fix transition check when airspeed is invalid
2019-02-05 10:09:48 -05:00
Julien Lecoeur 57f9104420 VTOL tiltrotor: respect VT_ELEV_MC_LOCK 2019-02-03 22:33:42 -05: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
Roman deed462e62 tiltrotor back-transition improvements:
- do not set zero throttle during the entire back-transition because otherwise
we need to make the back-transition really short
- added ramping up of throttle setpoint during backtransition to avoid
step inputs
- back-transition ends after back-transition time and not when motors are fully
rotated updwards. previously the vehicle would enter hover mode at high speed
which was not handled well by the mc position controller

Signed-off-by: Roman <bapstroman@gmail.com>
2018-11-06 22:10:38 +01:00
Daniel Agar 02d4405a62 c++11 default destructors 2018-06-30 19:55:08 -04: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
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
Daniel Agar 2ce8b6a984 delete VT_FW_PITCH_TRIM parameter (#9014) 2018-03-07 09:08:59 -05: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 9e16543dbe tiltrotor: represent time since transition in seconds
- more intuitive
- avoids tons of divisions

Signed-off-by: Roman <bapstroman@gmail.com>
2018-03-07 14:01:51 +01:00
Roman 07a84f2246 tiltrotor: removed common vtol parameters
Signed-off-by: Roman <bapstroman@gmail.com>
2018-03-07 14:01:51 +01:00
Daniel Agar 137a2444a8 VTOL standard respect VT_ELEV_MC_LOCK 2018-01-11 16:18:47 -05:00
Daniel Agar b4755297ec delete control_state and cleanup vehicle_attitude (#7882) 2017-09-21 16:24:53 -04:00
Daniel Agar 545ce9ae24 modules remove extra semicolons 2017-09-16 21:29:52 +01:00
Andreas Antener e04fe593e0 Tiltrotor: option to enable differential thrust in forwards flight 2017-02-18 08:03:19 +01:00
Andreas Antener 1de7636fad Tiltrotor: gradually reduce roll control with time or airspeed instead of simply switching it off 2017-01-03 20:32:33 -05:00
Andreas Antener c416fc3fa0 Tiltrotor:
- added open-loop transition time for airspeed-less flying
- added ramping down the back motors during forwards transition
2017-01-03 20:32:33 -05:00
Roman d77547e7e1 vtol_attitude_control: hotfix, do not update parameters on every iteration
Signed-off-by: Roman <bapstroman@gmail.com>
2016-11-22 10:05:53 +01:00
Nacho Carnicero 392391e8df Fix VTOL status in forward transition for tiltrotor models 2016-09-19 20:27:14 +02:00
Andreas Antener 8c9f4e8ab8 added which transition the vtol is in to vehicle status 2016-09-13 14:32:00 +02:00
Daniel Agar 3d1713f79e vtol remove Wno-write-strings 2016-05-19 21:49:34 +02:00
Andreas Antener 6ebb2079e0 use new method for instant transition in tiltrotor 2016-05-11 17:29:50 +02:00
Andreas Antener 6eb2e62306 temporarily use indicated airspeed for transitions so we're consistent with tecs until we move tecs to true airspeed 2016-02-18 18:55:56 +01:00
tumbili 4c61b05ef3 tailsitter, tiltrotor:
- use the transition trust when waiting for TECS to kick in
after transition
2016-02-18 18:55:56 +01:00
tumbili fa52aa322a VTOL: pull up generic setpoint publishing 2016-02-18 18:55:56 +01:00
Lorenz Meier 3b2e82cd62 VTOL: Fix motor index use in VT_FW_MOT_OFF. Create new param to re-default all deployed vehicles to not shut down motors. 2016-01-01 14:44:42 +01:00
DroneBuster 56e5c50703 VTOL: Fix MOT_OFF bug 2016-01-01 14:39:03 +01:00
Lorenz Meier fb3fade653 VTOL: Use correct motor off define 2015-12-29 14:22:37 +01:00
Roman 9d130653e1 vtol: added timestamps for actuator controls message 2015-12-24 10:18:24 +01:00
Roman 7127f6a92f fixed code style 2015-11-25 13:28:23 +01:00
tumbili 0a0a074194 use virtual attitude setpoint
Conflicts:
	src/modules/vtol_att_control/tailsitter.cpp
	src/modules/vtol_att_control/tiltrotor.cpp
	src/modules/vtol_att_control/vtol_att_control_main.cpp
	src/modules/vtol_att_control/vtol_att_control_main.h
	src/modules/vtol_att_control/vtol_type.h
2015-11-25 13:28:22 +01:00