Andrew Tridgell
568e13fbb9
Plane: allow for continue after land for quadplanes
...
this allows for a new takeoff after a quadplane auto landing
2020-06-02 09:12:22 +09:00
Peter Hall
7688430029
Plane: allow Qassit for fw to vtol transision
2020-05-26 09:01:47 +10:00
Peter Hall
87cd9a4791
Plane: allow Qassist for tailsitters
2020-05-26 09:01:47 +10:00
Peter Hall
2467d7b5c7
Plane: add Qassist switch
2020-05-26 09:01:47 +10:00
Paul Riseborough
40cc5a5006
ArduPlane: Improve EKF failsafe in VTOL modes
...
Replicates Copter behaviour with a three step process if the EKF sustains a loss of navigation as detected by high GPS innovation test ratios:
1) Attempts a yaw reset using the GSF estimate if available
2) Attempts a lane switch
3) Falls back to a non-position mode
2020-05-14 10:40:48 +10:00
Randy Mackay
59a2667870
Plane: quadplane's throttle mix uses filtered accelerations
2020-05-12 09:56:09 +10:00
Henry Wurzburg
6c730ccfec
Plane: start tailsitter forward transition from current pitch angle
2020-04-21 09:50:57 +10:00
Andrew Tridgell
c6a6427d6a
Plane: prevent lidar glitches from triggering land final
...
this prevents short term lidar glitches from triggering the change
from descend to final in quadplane
2020-02-27 13:15:46 +11:00
Randy Mackay
f2ab428cdd
Plane: rename update_throttle_mix
...
was called update_throttle_thr_mix
also minor format fixes
2020-02-25 16:52:40 +09:00
Gone4Dirt
760909d046
Plane: Prevent FS action overiding VTOL land
2019-12-31 11:42:59 +11:00
Mark Whitehorn
56b2c697d2
Plane: change tailsitter_input to bitmask
...
update parameter metadata for Q_TAILSIT_INPUT and Q_FRAME_TYPE
2019-12-18 08:33:29 +11:00
Mark Whitehorn
14fc6c5446
Plane: add logging for tailsitter gainscaling and clean up tailsitter body-frame roll input handling
...
fix metadata for tailsitter param GSCMSK
rework roll/yaw scaling for body-frame roll options
add constraints on body-frame roll and yaw inputs
move speed_scaler logging into QTUN message
2019-12-18 08:33:29 +11:00
kd0aij
95da094bfe
Plane: update tailsitter speedscaling logic
...
add tailsitter gain scaling option mask and logging
tailsitter qassist bugfix; thanks, @iampete
apply roll limit in tailsitter bodyframe roll control
add define for future exclusion of tailsitter gainscaling debug code/logging
tailsitter bodyframe roll and qacro input scaling bugfixes:
respect Q_TAILSIT_RLL_MX and roll/yaw scale parameters in bodyframe roll modes
fix unintended swap of Q_ACRO_RLL/YAW_RATE params in QACRO mode
don't scale motor tilt
Co-authored-by: IamPete1 <33176108+IamPete1@users.noreply.github.com>
2019-12-18 08:33:29 +11:00
Andrew Tridgell
36baaeb3a0
Plane: added option to run idle governor in MANUAL mode
...
useful for quadplane testing
2019-11-17 20:10:54 +11:00
Andrew Tridgell
e5bad28f1d
Plane: added Q_ASSIST_ALT parameter
...
this allows for quadplane assistance in fixed wing modes when the
aircraft drops below a given altitude. This could help save an
aircraft that is flying badly in fixed wing mode
2019-11-09 20:17:36 +11:00
Mark Whitehorn
1a2abae902
Plane: reduce QTUN log rate to 25Hz
2019-10-20 06:24:46 +11:00
sas
9405fd6958
Plane: remove unused location argument to control_auto
2019-10-08 10:49:51 +11:00
Andrew Tridgell
5c43b18672
Plane: fixed height_above_ground() for case when rangefinder is below min
...
this prevents a rangefinder that goes below min distance from causing
the calculations that depend on height above ground to fail
2019-09-17 09:36:26 +10:00
Michael du Breuil
4f22dff14d
Plane: Add an airspeed limit for quadplane takeoffs
2019-09-09 22:06:25 -06:00
Michael du Breuil
77afcf6a1b
Plane: Abort takeoffs that take to long to complete
2019-09-09 22:06:25 -06:00
Hwurzburg
44f6f7335e
Plane: Added Quadplane option for QRTL failsafe action
2019-07-05 11:25:56 +10:00
IamPete1
76663d66e8
Plane: support bicopter tiltrotors
2019-07-02 10:15:17 +10:00
Mark Whitehorn
4a7ce1b384
Plane: clean up qacro
2019-05-08 08:44:52 +10:00
Mark Whitehorn
f054301ec2
Plane: add QACRO roll/pitch/yaw rate params
2019-04-23 09:46:38 +10:00
Mark Whitehorn
8bcf2439ad
Plane: quadplane stabilize manual throttle midpoint and expo
...
move throttle curve logic to AP_Math
use parameter THROTTLE_EXPO in get_pilot_throttle
2019-04-23 09:46:38 +10:00
Tom Pittenger
0270c57530
Plane: massive refactor and creation of Mode class
2019-04-02 16:28:52 +11:00
Mark Whitehorn
e0765747e7
Plane: add new tailsitter bodyframe roll option
2019-03-26 14:50:37 +11:00
Peter Barker
1a55f0ffab
Plane: FrSky support has moved to GCS
2019-03-19 14:39:14 +11:00
Andrew Tridgell
2b6210d594
Plane: use WP height for height above ground in vtol landing
...
this allows for landings above or below the takeoff height without
requiring the use of terrain data. It allows both the use of vfwd
motor for holding against wind, and the correct height for land final
descent rate
2019-03-18 14:47:27 +11:00
Peter Barker
cf45b54070
Plane: quadplane use prearm checks from Attitude and Position controllers
2019-03-12 10:14:14 +11:00
Mark Whitehorn
4a6b97828f
ArduPlane: add tailsitter input type TAILSITTER_INPUT_BF_ROLL
2019-03-06 15:48:51 +11:00
Mark Whitehorn
6e4a2b97f9
ArduPlane:add subclass for copter tailsitters
...
cleanup and add tailsit_motmx
add constexpr and motor mask check
add support for tricopter tailsitter
don't call output_motor_mask unless armed
fix whitespace
2019-03-06 07:53:46 +09:00
Mark Whitehorn
487ad7a90f
Plane: add QACRO mode for quadplanes
...
use acro_r/p/y_rate params in qacro
port ACRO throttle handling from copter
handle non-tailsitter controls
2019-03-05 10:13:20 +11:00
Andrew Tridgell
136e10a781
Plane: handle VTOL landing with incorrect height
...
if landing above expected height then run landing detector to allow a
switch from LAND_DESCEND to LAND_FINAL
this prevents the plane sitting on the ground until the battery runs
out
2019-02-26 11:12:58 +11:00
Michael du Breuil
b290148ed0
Plane: Don't overwrite the quadplane loiter relax
2019-02-23 11:08:21 +11:00
Michael du Breuil
c15983c690
Plane: prevent loss of control when Q_ENABLE is set while flying
...
Also rename check_throttle_suppression
2019-02-21 21:38:03 -07:00
Mark Whitehorn
95b3a5bacd
ArduPlane: implement hover throttle learning for quadplanes
...
disable by default
check quadplane.enable in update_hover_learn
2019-02-16 19:04:13 -08:00
Mark Whitehorn
b9f3118374
Plane: allow changing Q_TRIM_PITCH in flight
...
change float comparison to is_equal
2019-02-12 09:42:19 +11:00
Michael du Breuil
df1632054e
Plane: Update throttle mix
2019-02-05 11:05:54 +11:00
Michael du Breuil
d6cac4b52a
Plane: Add a failure timer for quadplane forward transitions
...
Falls over to QLAND if we fail to transition
2019-01-08 10:52:12 +11:00
Michael du Breuil
69c87c6c4a
Plane: Disallow arming if quadplane has been requested but isn't available
2018-12-28 18:09:21 +11:00
Andrew Tridgell
d3afc9424a
Plane: make QTUN logging match copter logging
2018-12-21 22:17:52 +11:00
Michael du Breuil
1a45755ffd
Plane: Support a different landing radius for quadplane fw approach
2018-12-18 10:11:22 +11:00
Nikhil Upadhye
d1e93bae83
Plane: adding new mode QAUTOTUNE
...
copter like autotune support for quadplanes and tailsitter in VTOL mode.
cleanup
2018-12-14 16:33:11 +11:00
Randy Mackay
71708ee4ea
Plane: quadplane uses set_defaults_from_table
2018-12-06 12:23:41 +09:00
IamPete1
c6e70c0454
Plane: add roll limit for tailsitters
...
Quadplane: add tailsitter pitch params
2018-12-01 09:40:07 +11:00
Andrew Tridgell
c59b2c156a
Plane: fixes for Q_TRIM_PITCH
...
improved documentation and variable names
2018-11-12 17:05:04 +11:00
IamPete1
5a7bd61e8c
Quadplane: add trim params
2018-11-12 17:05:04 +11:00
Michael du Breuil
8e906e0ba0
Plane: Add support for a loiter to alt approach to VTOL landing
2018-11-10 18:58:54 +11:00
Michael du Breuil
b6efc8a20b
Plane: reduce some copy pasted code
2018-09-20 13:47:21 -07:00
Andrew Tridgell
ef154cf3fa
Plane: fixed relaxing of attitude controller on transition
...
this fixes an issue found by Leonard where the attitude controller
could have residual control left over from a previous transition when
engaging the VTOL attitude controller
2018-09-15 11:00:29 +10:00
Michael du Breuil
f9e56f9d12
Plane: Respect frame type on VTOL_TAKEOFF commands
...
allow missioncommands to fail to start
2018-09-11 06:42:00 +10:00
Michael du Breuil
925d76bb8c
Plane: Small cleanup to quadplane const (and clarity)
2018-09-04 15:11:41 +10:00
Michael du Breuil
3d923d0572
Plane: Send a quadplane version of NAV_CONTROLLER_OUTPUT
2018-08-07 09:49:01 +10:00
IamPete1
20c67019b0
Plane: added Q_TAILSIT_THSCMX
...
this provides more flexibility in tailsitter throttle scaling
2018-07-19 09:48:25 +10:00
Randy Mackay
840a6e4147
Plane: quadplane uses AC_Loiter
...
includes param conversion
2018-04-04 10:45:10 +09:00
Peter Barker
f6a185a3c3
Plane: factor vehicle's mavlink send_heartbeat
2018-04-03 13:05:19 +01:00
Randy Mackay
a0a9a68fbc
Plane: quadplane smoothing gain replaced by Q_A_INPUT_TC
...
Q_A_INPUT_TC parameter allows this to be tuned and a single value (which defaults to a value between the two previously used values) is used for all modes
2018-03-16 13:50:57 +09:00
Randy Mackay
f41f4dc6e5
Plane: move pos-control pids to pos-control library
2018-01-23 12:00:43 +09:00
Randy Mackay
017e71a748
Plane: quadplane velocity pi moves to position control library
2018-01-23 12:00:43 +09:00
Peter Barker
af007c5f0f
Plane: tighten handleMessage result type
2017-12-01 17:01:10 +00:00
Andrew Tridgell
9c8cd6c1cc
Plane: added Q_TRANS_DECEL
...
this gives a deceleration rate for QRTL transition from RTL, and also
for transitions to QLOITER
2017-11-05 20:44:42 +11:00
Andrew Tridgell
21164ef409
Plane: added tailsitter surface speed scaling
...
added scaling of control surfaces by throttle when in hover. This helps
the controller remain stable over a wide range of throttle levels, such
as when descending or rapidly climbing
2017-11-05 17:05:08 +11:00
Andrew Tridgell
552faa8f67
Plane: smoother tailsitter transitions
...
this smooths out tailsitter transitions in both directions, adding a
new FW to VTOL transition state
2017-10-30 16:30:38 +11:00
Andrew Tridgell
af893ddde7
Plane: implement Q_OPTIONS
...
this allows for NAV_TAKEOFF to be treated as NAV_VTOL_TAKEOFF in
quadplanes, and for level flight to be maintained during quadplane
transitions
2017-10-30 16:30:10 +11:00
Andrew Tridgell
8178ab4037
Plane: make mav_type in HEARTBEAT configurable
...
needed for qgc to setup for quadplanes
2017-10-20 15:41:06 +11:00
Andrew Tridgell
bc17c26dbf
Plane: limit pitch in transition to QLOITER and QLAND
...
when switching to QLOITER or QLAND when in forward flight, limit the
maximum pitch to prevent a sudden decelleration
2017-09-09 08:14:09 +10:00
Andrew Tridgell
baee71a5b4
Plane: added GUIDED takeoff for quadplanes
...
this allows takeoff in GUIDED mode in the same way as copters
2017-09-09 08:14:09 +10:00
Andrew Tridgell
a88e663191
Plane: adjust target altitude slowly in QRTL mode
...
this fixes a sudden throttle drop when starting the descent in QRTL mode
thanks to Marco for finding this issue
2017-09-07 07:22:13 +10:00
Andrew Tridgell
6eaad59115
Plane: improve vectored tailsitter takeoff
...
this gives extra pitch input when taking off a vectored tailsitter,
allowing the motors to point straight up for easy takeoff
thanks to Leonard for the idea!
2017-05-07 09:10:44 +10:00
Andrew Tridgell
b1f1ace736
Plane: support vectored yaw tiltrotors
...
this adds support for tiltrotors which control yaw by vectoring the
forward motors. This avoids the need for the rear motor on a
tilt-tricopter to have a tilt servo
2017-04-24 16:54:41 +10:00
Andrew Tridgell
2d9c3e3d93
Plane: added EKF yaw reset handling to quadplane
...
this follows the implementation from copter. Thanks to Leonard for the
suggestion
2017-04-24 16:52:16 +10:00
Andrew Tridgell
88e02c7b35
Plane: log the throttle mix for quadplane copter control
2017-04-19 09:08:43 +10:00
Andrew Tridgell
642a6acfcb
Plane: support thrust vectoring in tailsitters
...
adds Q_TAILSIT_VHGAIN and Q_TAILSIT_VFGAIN, allowing for thust
vectoring in both fixed wing and hover
2017-04-11 17:34:40 +10:00
Andrew Tridgell
664e41cec6
Plane: bring in demanded climb rate over 1 second
...
when we engage the Z controller in quadplane we bring in the climb
rate slowly to prevent a sudden change in motor demand
2017-04-09 16:45:19 +10:00
Andrew Tridgell
36d8f730e1
Plane: setup better defaults for tailsitters
2017-04-04 10:15:08 +10:00
Andrew Tridgell
5d06e4238f
Plane: make the quadplane motors var_info dynamic
...
this will allow for more quadplane motors class types
2017-03-25 16:22:10 +11:00
Andrew Tridgell
e3a8d477f5
Plane: improve tiltrotor transition strategy
...
avoid running forward motors at high throttle when transitioning to a
VTOL mode
2017-03-14 14:42:20 +11:00
Andrew Tridgell
3f7e7d456f
Plane: in fixed wing mode slave quadplane attitude rate controller
...
For quadplanes this uses the attitude controller from fixed wing
when using the multicopter controller to assist fixed wing
flight. This prevents a rate mismatch between the two controller
leading to oscillation
2017-03-14 14:42:20 +11:00
Andrew Tridgell
2db8589f49
Plane: smarter Z controller initialisation for quadplanes
...
this is more generic than the previous one used only for the full
position controller
2017-03-14 14:42:20 +11:00
Andrew Tridgell
c061d5615b
Plane: added manual input mask for tailsitter prop-hang
...
This adds new parameters Q_TAILSIT_MASK and Q_TAILSIT_MASKCH. These
parameters allow a user to use the tailsitter capabilities of a 3D
plane to teach themselves to prop-hang.
It works by allowing the user to setup a switch on their transmitter
to enable manual pass-thru of a set of the input channels to outputs
when in tailsitter hover. The user can then use that switch to allow
learning of hover control in a 3D plane one channel (or two channels)
at a time.
2017-02-26 09:20:13 +11:00
Andrew Tridgell
3bb25eb194
Plane: added Q_TAILSIT_INPUT
...
this allows the user to control tailsitters either in body frame (like
a plane) or in earth frame (like a multicopter). This is useful for
people wanting to learn to fly prop-hang on 3D planes
2017-02-26 09:20:13 +11:00
Andrew Tridgell
ea5186340b
Plane: added Q_TILT_RATE_UP and Q_TILT_RATE_DN as separate parameters
...
allow control of tilt rate separately for UP and DOWN
always allow at least 90 degrees/second for switching to MANUAL
2017-02-25 17:53:26 +11:00
Andrew Tridgell
e8b11924f8
Plane: split out the tailsitter transition complete code
...
use both roll and pitch to trigger completion of transition. This
copes with situations where the plane has managed to get itself rolled
over far enough that it can't recover into hover
2017-02-18 17:26:43 +11:00
Andrew Tridgell
c787f4c56f
Plane: initial support for tailsitter transitions
2017-02-18 17:26:43 +11:00
Andrew Tridgell
83f3cee99e
Plane: initial hooks for tailsitter support
2017-02-18 17:26:43 +11:00
Andrew Tridgell
5c820adad4
Plane: fixed tilt transition with binary tilt servo
...
once the tilt is fully fwd then force transition as done at any
airspeed
2017-01-25 19:01:15 +11:00
Andrew Tridgell
54bca768b8
Plane: added Q_TILT_TYPE for retract servo tiltrotors
2017-01-25 19:01:15 +11:00
Andrew Tridgell
2f100b0804
Plane: removed separate tricopter quadplane build
...
can all be done with one build now
2017-01-12 17:39:37 +11:00
Randy Mackay
c6dec5c3f6
Plane: quad plane uses consolidated multicopter classes
2016-12-31 10:55:23 +09:00
Mathieu OTHACEHE
152edf7189
Global: remove mode line from headers
...
Using a global .dir-locals.el file is a better alternative than
reincluding the same emacs header in every file of the project.
2016-10-24 09:42:01 -02:00
Randy Mackay
574976a3b7
Plane: include AP_Proximity in quadplane
2016-10-13 20:21:07 +09:00
Andrew Tridgell
4e017bf5b3
Plane: fixed loiter mode when Q_GUIDED_MODE=1
...
This fixes the fixed wing behaviour of LOITER mode whne
Q_GUIDED_MODE=1.
Many thanks to the PertUAV team for finding and reporting this bug
2016-10-01 08:37:17 +10:00
Andrew Tridgell
6d09897b19
Plane: fixed VTOL motor termination in AFS
2016-09-27 11:53:45 +10:00
Andrew Tridgell
dac7f45326
Plane: fixed use of multicopter mix_max
...
we need a settable mix_max for some vehicles
2016-09-21 12:23:19 +10:00
Andrew Tridgell
3d0516fd57
Plane: added Q_ASSIST_ANGLE
...
this automatically provides quadplane assistance if the angular error
is over the given value for 1 second while flying faster than
Q_ASSIST_SPEED
2016-08-30 08:35:18 +10:00
Andrew Tridgell
b29b609bcc
Plane: added AFS support for quadplanes
2016-08-16 12:56:12 +10:00
Andrew Tridgell
76b6cbbda1
Plane: prevent motor startup on reboot in quadplanes
...
we need to prevent RC overrides within px4io from running
2016-08-16 12:53:34 +10:00
Andrew Tridgell
63317e9430
Plane: added throttle suppression for quadplanes
...
this tries to prevent motor start when on ground. Motors instead go
into spin_when_armed state
2016-08-04 09:43:40 -07:00
Andrew Tridgell
f65b46385c
Plane: added engine cut on land final in quadplane
2016-07-25 15:46:17 +10:00