RomanBapst
ffdf186598
vtol_att_control: reset transition timer states when starting a transition
...
Signed-off-by: RomanBapst <bapstroman@gmail.com >
2022-12-16 11:36:00 +03:00
RomanBapst
48e8477799
vtol_att_control: disable maximum height for quadchute by default
...
Signed-off-by: RomanBapst <bapstroman@gmail.com >
2022-12-15 15:40:53 +03:00
RomanBapst
9ed51ba8ed
quadchute: introduced parameter to specify maximum height
...
Signed-off-by: RomanBapst <bapstroman@gmail.com >
2022-12-15 15:40:53 +03:00
Roman Bapst
257d4e473b
fixed tailsitter transitions ( #20756 )
...
Signed-off-by: RomanBapst <bapstroman@gmail.com >
2022-12-13 10:38:38 +01:00
Roman Bapst and Silvan Fuhrer
cfb670fbb3
Refactor quadchute logic ( #20704 )
...
* moved computation of _time_since_trans_start into base class
Signed-off-by: RomanBapst <bapstroman@gmail.com >
* refactor quadchute logic
- move entired logic into VtolType class
- split into smaller functions
Signed-off-by: RomanBapst <bapstroman@gmail.com >
* Update src/modules/vtol_att_control/vtol_type.h
Co-authored-by: Silvan Fuhrer <silvan@auterion.com >
Signed-off-by: RomanBapst <bapstroman@gmail.com >
Co-authored-by: Silvan Fuhrer <silvan@auterion.com >
2022-12-08 11:56:20 +03:00
Silvan Fuhrer and Matthias Grob
ac28c6b7e2
VTOL: take home_position into account for ground clearance ( #20683 )
...
* VTOL: take home_position into account for ground clearance
For approximating distance to ground in case there is no valid distance sensor
data, subtract the home position altitude from the local position altitude.
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
Co-authored-by: Matthias Grob <maetugr@gmail.com >
2022-12-06 13:19:35 +01:00
GaspardBesacier
dfced1fe46
VTOL: Smarter pusher ramp up during front transtitions for standard VTOLs ( #20394 )
...
New param VT_PSHER_SLEW for ramping up throttle of pusher during front/back transition, that replaces the old VT_PSHER_RMP_DT param.
2022-11-14 16:32:51 +01:00
Silvan Fuhrer
f5ecd1106f
VTOL: some parater meta data fixes/improvements
...
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2022-11-14 16:25:46 +01:00
Silvan Fuhrer
c04a67401e
Remove some @decimal and @increment from integer parameters
...
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2022-11-14 16:25:46 +01:00
JaeyoungLim
a9542baf3c
Enable motor controls for tailsitter VTOLs in fixed wing mode (enable Quad Tailsitters) ( #20511 )
...
* Enable motor controls for fixed wing mode in tailsitters
This commit enable motor controls in fixed wing mode for tailsitters
This is needed for enabling quad tailsitters
* VTOL: differential thrust in FW: adapt params to be generic for all axes
Until now only suppoted on yaw axis. Not to be supported also on Roll and Pitch.
- VT_FW_DIFTHR_EN: make bitmask for all three axes independently. First bit is Yaw,
sucht that existing meaning of VT_FW_DIFTHR_EN doesn't change.
- VT_FW_DIFTHR_SC: rename to VT_FW_DIFTHR_S_Y and add same params for roll (_R) and
pitch (_P).
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
* Integrate differential control bits to three axis control
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2022-11-07 15:29:14 +01:00
thomas
f9f466854b
abort front transition in vtol module instead of in navigator/rtl.cpp
2022-10-24 13:55:41 +02:00
Beat Küng
04b1cbb423
vtol_att_control: standard: also do blending for FW controls
...
So that the sum of the control is always 1.
2022-10-04 09:54:11 +02:00
Silvan Fuhrer
f89df9d986
VTOL: make const and return when either of mc or fw att sp isn't updated
...
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2022-09-29 16:01:43 +02:00
Silvan Fuhrer
fdcbabeb9e
VTOL Tailsitter: don't use the fw attitude sp for determing the initial pitch if not recent
...
Use a pitch of 0 to initialize the ramp otherwise.
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2022-09-29 16:01:43 +02:00
Silvan Fuhrer
9c5a423753
VTOL: in update_transition_state(): check that needed virtual attitude setpoints are recent
...
This is to prevent that that data from non-recent publications of the virtual
attitude setpoints are used in the transition code.
It removes the previous implementation where the update_transition_state()
method was only run when both mc and fw virtual att sp where recent, independetly
of whether both are used or not.
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2022-09-29 16:01:43 +02:00
Silvan Fuhrer
97e3b76a2e
VTOL: improve readability of VT_FWD_THRUST_EN param
...
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2022-09-29 16:01:43 +02:00
Silvan Fuhrer
d7fab74727
VTOL: remove _flag_was_in_trans_mode from standard vtol (not used)
...
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2022-09-21 14:18:43 -04:00
Silvan Fuhrer
828f629413
VTOL: remove some pwm hackery leftovers from legacy mixing systems
...
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2022-09-21 14:18:43 -04:00
RomanBapst
e41913a699
vtol_type: removed unused "was_in_trans_mode" function
...
Signed-off-by: RomanBapst <bapstroman@gmail.com >
2022-09-20 16:50:07 +02:00
RomanBapst
2a6cd4a409
vtol_att_control: avoid using non-recent attitude setpoint during beginning
...
of transition
Signed-off-by: RomanBapst <bapstroman@gmail.com >
2022-09-20 16:50:07 +02:00
Daniel Agar
ce337a3d80
delete unused PWM IOCTLs
2022-09-09 09:14:09 -04:00
Hamish Willee
e6eed43648
Spelling errors ( #19935 )
2022-07-27 14:33:16 +10:00
Junwoo Hwang
32ae00fd44
Move Vehicle Command Result Enum defs to Vehicle Command Ack ( #19729 )
...
- As it is always only used for the vehicle command ack message
- It was a duplicate, hence making it error prone for maintainment
- The uORB message comments were updated to make the relationship with
the MAVLink message / enum definitions clear
2022-07-07 16:15:11 +02:00
RomanBapst
44f98ac355
standard: fixed pusher assist in hover
...
- in hover mode the pusher assist is already set in update_mc_state()
Signed-off-by: RomanBapst <bapstroman@gmail.com >
2022-07-06 16:07:55 +02:00
mcsauder
6b0788ff46
Standardize variable naming and formatting across vehicle attitude controller files.
2022-05-21 12:22:18 -04:00
Silvan Fuhrer
8f2c84d36f
VTOL paras: add min of 0.1 to transition times
...
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2022-05-18 10:01:04 +02:00
Silvan Fuhrer
c29ca6c959
tailsitter: guard against division by 0
...
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2022-05-18 10:01:04 +02:00
Silvan Fuhrer
3cf07e1be5
VTOL: rename params _PTCH to _PITCH
...
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2022-05-18 10:01:04 +02:00
Silvan Fuhrer
7c5f0121a5
VTOL: remove some unsued variables
...
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2022-05-18 10:01:04 +02:00
Silvan Fuhrer
2b7efeacca
vtol_vehicle_status: replace several status bools by single vehicle_vtol_state
...
Replace vtol_in_rw_mode, vtol_in_trans_mode, in_transition_to_fw by vehicle_vtol_state.
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2022-05-18 10:01:04 +02:00
Silvan Fuhrer
635f64a2e5
Commander: remove permanent stabilization option for fixed-wing flight
...
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2022-05-18 10:01:04 +02:00
Silvan Fuhrer
7292ce483c
VTOL: move to cpp params API
...
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2022-05-18 10:01:04 +02:00
Silvan Fuhrer
46179586fb
Control Allocation: Tiltrotor: pass only thrust magnitude instead of 3D thrust to allocator
...
Special case tiltrotor: instead of passing a 3D thrust vector (that would mostly have a x-component in FW, and z in
MC), pass the vector magnitude as z-component, plus the collective tilt. Passing 3D thrust plus tilt is not feasible as they
can't be allocated independently, and with the current controller it's not possible to have collective tilt calculated
by the allocator directly.
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2022-05-11 10:19:37 +02:00
Silvan Fuhrer
089673ff35
only allow positive spoiler and flap controls
...
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2022-05-03 15:11:21 +02:00
Silvan Fuhrer
64ff31aa08
VTOL: add flap and spoiler support
...
- including slew rate limiting
- adds option to set spoiler setting during the Land phase (hover)
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2022-05-03 15:11:21 +02:00
Silvan Fuhrer
21a2892f47
use actuator_controls[8] for collective tilt for tiltrotor VTOL, instead of [4]
...
[4] is reserved for Flaps, so also having the tilt on it was preventing us from
using flaps on tiltrotors, and other ripple effects.
By using [8] the tilt is separated from all other channels - it requires to increase the size of
actuator_controls by 1 to 9.
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2022-05-03 15:11:21 +02:00
Daniel Agar
6135bb384b
cleanup module callback registration failed errors
2022-03-23 20:44:50 -04:00
Konrad
e080fab8f6
Set up landing gear logic for tiltrotor and tailsitter VTOL. Gear is set down when in hover mode, esle gear is set up.
2022-03-21 09:30:04 +01:00
Konrad
d7de67844f
Set up landing gear logic for standard VTOL. Gear is set down when in hover mode, else gear is set up.
2022-03-21 09:30:04 +01:00
Roman Bapst
69560bd4f4
Compensate VTOL transition time for air density ( #19293 )
...
* vtol: compensate front transition minimum time and front transiton openloop time
for air density
Signed-off-by: RomanBapst <bapstroman@gmail.com >
2022-03-09 08:41:30 -05:00
Beat Küng
76d8d8cae6
control_allocator: generic motor configuration for standard vtols
...
This adds the pusher/puller to the standard motors and makes the axis
configurable.
2022-02-25 08:30:58 +01:00
Jukka Laitinen
9449ed6e66
Add support for protected build in drivers, systemcmds and modules Kconfig
...
Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae >
2022-02-18 07:58:58 +01:00
Silvan Fuhrer
25f5152583
Tiltrotor: make sure tilt doesn't exceed the FW tilt angle
...
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2022-02-17 13:21:50 +01:00
Silvan Fuhrer
48be55dec8
Tiltrotor: disable tilt/thrust compensation when dynamic allocation is enabled
...
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2021-12-24 20:06:13 -05:00
Silvan Fuhrer
31d7328f4d
Tailsitter: invert roll (make it NED-correct) for filling vehicle_torque_setpoint
...
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2021-12-24 20:06:13 -05:00
Silvan Fuhrer
460a0df850
tiltrotor: fill out thrust_setpoint[0] also in hover, based on tilt and hover thrust
...
In the tiltrotor case, beside an F_z thrust setpoint also a F_x setpoint must be passed
to the allocator as the matrix has non-zero thrust-x effectiveness when tilts are applied.
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2021-12-24 20:06:13 -05:00
Silvan Fuhrer
426aa76a59
CA/VTOL: change description of VT_ELEV_MC_LOCK as it applies to not just elevons
...
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2021-12-24 20:06:13 -05:00
Silvan Fuhrer
07306c4be3
control_allocator: add support for Tailsitter VTOL
...
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2021-12-24 20:06:13 -05:00
Silvan Fuhrer
0568cff299
control_allocator: handle thrust allocation for VTOL's properly
...
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2021-12-24 20:06:13 -05:00
Beat Küng
b5c2cdf6c4
vtol_att_control: do not manipulate PWM outputs if SYS_CTRL_ALLOC == 1
...
Not required anymore
2021-12-24 20:06:13 -05:00