Andrew Tridgell
5a880c74b6
Plane: use input shaping from pos_control
...
smoother navigation with new input shaping code
2021-05-24 20:13:37 +10:00
Andrew Tridgell
a6ec7d9f23
Plane: ensure xy controller is initialised
2021-05-24 20:13:37 +10:00
Iampete1
572e401894
Plane: fix QRTl terrain following
2021-05-02 18:51:27 +10:00
Peter Hall
33f9e3d4b6
plane: add tailsitter transision rates, give more info in transision complete messages
2021-04-07 17:55:48 +10:00
Iampete1
e81dc36ed6
Plane: add option do do a VTOL approach RTL
2021-03-29 11:29:12 +11:00
Hwurzburg
8aabf7c22a
Plane: Add VTOL descent rate, convert existing rate to climb rate only
...
Co-authored-by: Reko Merio K9260@student.jamk.fi
Co-authored-by: Peter Barker <pb-gh@barker.dropbear.id.au>
2021-03-23 14:32:46 +11:00
Iampete1
1d050a01ce
Plane: Quadplane: add Q_OPTION to ignore forward flight angle limits in Q modes
2021-03-02 11:16:35 +11:00
Mark Whitehorn
236961f17f
Plane: use get_frame_class/type string methods
...
use AP_Enum<> for frame_class/type
remove invalid copterTS check
improve quadplane setup failure message
Co-authored-by: Peter Barker <pb-gh@barker.dropbear.id.au>
2021-02-09 12:43:53 +11:00
Patrick José Pereira
cdc7f891a9
ArduPlane: Add missing const in member functions
...
Signed-off-by: Patrick José Pereira <patrickelectric@gmail.com>
2021-02-03 18:45:14 +11:00
Iampete1
e4fbe64616
Plane: add QuadPlane singleton
2021-01-19 11:18:10 +11:00
Andrew Tridgell
a0fcef6ceb
Plane: added tilt vectoring in fixed wing modes
...
this allows for vectoring for roll and pitch in fixed wing modes on
tilt-vectored quadplanes
2021-01-05 08:23:28 +11:00
Iampete1
c8b3c91ae5
Plane: Tailsitter add disk theory and altitude gain scailing
2020-12-22 11:00:59 +11:00
Mark Whitehorn
24508f08dc
Plane: don't relax pitch attitude controller for vectored tailsitters in throttle_wait
...
add is_vectored_tailsitter()
instantiate AC_AttitudeControl_TS for tailsitters
2020-12-21 12:56:24 +11:00
Andrew Tridgell
e94cf561d0
Plane: use rull euler control for fwd transition of tilt vectored planes
...
this gives strong yaw control and wind handling for tilt vectored
planes in forward transitions. It relaxes the yaw if the user either
demands yaw with stick input or plane navigation is demanding a roll
angle for a turn
When navigation is demanded we setup yaw rate for a coordinated turn
2020-12-21 12:05:50 +11:00
Andrew Tridgell
abd5f8351d
Plane: don't reset yaw target in TRANSITION_TIMER for tilt-vectored quadplanes
2020-12-21 12:05:50 +11:00
Andrew Tridgell
ad14e153e8
Plane: fixed tilt vectoring to cope with large tilt angles
...
This uses vectoring for both roll and yaw when tilted, and uses
differential thrust for yaw when tilted
2020-12-16 08:45:11 +11:00
Andrew Tridgell
d984ddc163
Plane: apply circular limits to QLOITER pilot angles
...
This uses the same logic as Copters get_pilot_desired_angle() to apply
a circular limit and the limits in Q_ANGLE_MAX and Q_LOIT_ANG_MAX to
loiter pilot angles.
Co-authored-by: Kris <kris968658@gmail.com>
2020-12-01 11:22:49 +11:00
Iampete1
c03de6bdbe
Plane: log Qassist state
2020-11-17 10:15:27 +11:00
Andrew Tridgell
eea62bf733
Plane: added optional ground effect compensation for quadplanes
...
this allows for landings in aircraft badly effected by ground effect
to be compensated for
2020-11-10 12:05:48 +11:00
Iampete1
2d80dcd937
Plane: remove tailsitter VTOL transition race condition
2020-11-04 18:34:00 +11:00
Iampete1
b225ae43ab
Plane: always log tailsitter scalefactor
2020-11-03 10:38:51 +11:00
Iampete1
840f129153
Plane: remove unused tailsitter scailing option
2020-11-03 10:38:51 +11:00
Iampete1
e6ba53856a
Plane: tailsitter: ask for FW state don't check
2020-10-27 11:04:52 +11:00
Iampete1
0201692eeb
Plane: Q_OPTION to disable synthetic airspeed assist
2020-10-07 18:20:08 +11:00
Iampete1
6621b69836
Plane: log quadplane transision state
2020-09-30 18:15:42 +10:00
Iampete1
f972d3dc2f
Plane: Quadplane: tailsitter only change view once transision is complete
2020-09-30 18:15:42 +10:00
Mark Whitehorn
629f2153e0
Plane: move arming delay logic into AP_Arming_Plane
2020-09-08 10:54:42 +10:00
Mark Whitehorn
2b4772269d
Plane: tiltrotors: allow vectored yaw motor tilt when disarmed
...
add disarm tilt delay
add arming delay
add Q_OPTIONS for disarmed motor tilt and delayed arming
add comment explaining arming delay option
eliminate millis() wrap in arming delay
2020-09-08 10:54:42 +10:00
Samuel Tabor
06eea6ed9f
Plane: Move navigation functions into flight mode classes.
2020-08-20 13:02:06 +10:00
Mark Whitehorn
e22d9398d3
Plane: add AirMode RC option for quadplanes
...
add Q_OPTION for AirMode (auto-enabled if RCx_OPTION ARMDISARM assigned)
bugfix: manual throttle mix for qacro
qualify auto airmode on/off
add Air Mode to Plane RC_OPTION metadata
restrict airmode to manual throttle modes
add qhover to manual throttle mix
move air_mode from Plane to QuadPlane
add Mode::is_vtol_man_throttle()
2020-08-13 08:47:27 +10:00
Iampete1
08a710235d
Plane: add tailsitter assist with motors only option
2020-07-09 06:49:24 +10:00
Iampete1
6710bab006
Plane: add Q_OPTIONS to defaut to Qassist force enabled
2020-07-09 06:49:24 +10:00
Mark Whitehorn
d5b1b20274
Plane: implement manual forward throttle for QACRO, QSTABILIZE and QHOVER
...
add parameter Q_FWD_THR_MAX for scaling manual throttle
allow forward motor tilt when disarmed
add FWD_THR_CH as an RC option
change Q_FWD_THR_MAX to percent
change RC_OPTION FWD_THR to 209
move assignment of rc_fwd_thr_ch to one_second_loop
move arming check from forward_throttle_pct to set_servos
change Q_FWD_THR_MAX TO Q_FWD_MANTHR_MAX
expand description of Q_FWD_MANTHR_MAX
add pre-arm check for VTOL manual forward throttle
change VTOL fwd throttle input to percent
2020-07-07 08:37:46 +10:00
Andrew Tridgell
3a0538449c
Plane: added Q_ASSIST_DELAY parameter
...
this allows tuning of the time between assistance thresholds being met
and assistance kicking in. It also changes the default delay from 1s
down to 0.5s based on analysis of a flight where assistance was too
slow
2020-07-01 20:57:32 +10:00
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