Andrew Tridgell
9d0b7f8efe
Plane: removed set_state to QPOS_POSITION1 in do_vtol_land
...
we are immediately replacing the state with QPOS_APPROACH, so the
set_state is not needed, and triggers a call to
attitude_control->reset_yaw_target_and_rate() which can badly impact
euler rates for tailsitters
2021-09-27 21:21:53 +10:00
Peter Hall
e83b598040
Plane: Quadplane: check attitude relax before running controllers, don't run controls if not going to output
2021-09-25 12:53:11 +10:00
bugobliterator
4b62dd75b0
ArduPlane: fix casting to pass format check
2021-09-22 21:36:34 +10:00
Bob Long
f2d32fc800
Plane: quadplane: fix wp_dist reporting for VTOL landings
...
After hitting the approach stage of a VTOL landing in auto, nav_controller_output sends zero as the distance to waypoint.
2021-09-21 09:40:00 +10:00
Iampete1
cc89a8cc48
Plane: remove airmode Q_OPTION
2021-09-21 09:36:24 +10:00
Andrew Tridgell
7547ad53d3
Plane: allow for new guided destination during guided takeoff
...
if you set a very high alt for takeoff this is useful
2021-09-17 10:06:08 +10:00
Andrew Tridgell
8bee839931
Plane: fixed overshoot in guided takeoff of quadplanes
2021-09-17 10:06:08 +10:00
Iampete1
c4a1ae42e5
Plane: Quadpalne: move tiltrotor functionality to own class
2021-09-17 08:24:17 +10:00
Peter Barker
3d34e061fe
ArduPlane: add and use HAL_QUADPLANE_ENABLED
2021-09-14 11:23:18 +10:00
Josh Henderson
1da21c3b21
Quadplane: use vector.xy().length() instead of norm(x,y)
2021-09-14 10:43:46 +10:00
Andrew Tridgell
cb307891e0
Plane: fixed bad yaw rate demands in tailsitter fixed wing modes
...
this prevents the pilot putting in crazy yaw rate demands due to the
use of rudder stick in fixed wing modes for tailsitters while still
allowing for FBWA flat turns if the user wants them.
It uses the existing RUDD_DT_GAIN parameter for a gain scaling of yaw
rate for copter tailsitters
2021-09-14 07:55:40 +10:00
Iampete1
c73207b4b0
Plane: quadplane: remove init mode and control run methods
2021-09-08 18:06:58 +10:00
Iampete1
95fbf39f72
Plane: quadplane: check_attitude_relax use the last time the controllers were run not the last time relax was checked
2021-09-07 09:09:47 +10:00
Hwurzburg
5ca652a243
Plane: rename tailistter motor class to more correct singl/dual motor layout
2021-09-06 10:14:05 +10:00
Iampete1
f1477a6c29
Plane: quadplane: add assisted flight only airmode
2021-09-01 08:33:24 +10:00
Iampete1
46670f7bd0
Plane: quadplane: move tailsitter items to dedicated setup
2021-09-01 08:33:24 +10:00
Iampete1
700a92f036
plane: quadplane: tailsitter: run FW transition check and assist immediately
2021-08-31 10:34:33 +10:00
Peter Hall
657fcb7f59
Plane: quadplane: set `last_pidz_init_ms`
2021-08-31 09:58:03 +10:00
Iampete1
70ab9ba3b6
Plane: tailsitter: remove pilot prop-hanging teaching params and code.
2021-08-25 18:47:51 +10:00
Hwurzburg
551d55a85c
ArduPlane: add thr position trigger to ThrLandCtrl Q_OPTION
2021-08-25 12:32:59 +10:00
Iampete1
d372907a98
Plane: Quadplane: add Q_OPTION to only allow arming in Qmodes and auto.
2021-08-24 10:39:12 +10:00
TunaLobster
cbf6c2926f
ArduPlane: Remove @RebootRequired: False
2021-08-19 10:00:16 +10:00
Andrew Tridgell
58c823284c
Plane: mark logger Write() calls as streaming where appropriate
2021-08-18 10:20:03 +10:00
Iampete1
baf2b4a3d8
Plane: Qstabilize: mode functions to ModeQStabilize
2021-08-17 11:46:49 +10:00
Iampete1
44e63861ce
Plane: QRTL: move functions to ModeQRTL
2021-08-17 11:46:49 +10:00
Iampete1
f75919e727
plane: QLoiter: move functions to ModeQLoiter
2021-08-17 11:46:49 +10:00
Iampete1
921116e7a3
Plane: QLand: move functions to ModeQLand
2021-08-17 11:46:49 +10:00
Iampete1
737096f342
Plane: QHover: move functions to ModeQHover
2021-08-17 11:46:49 +10:00
Iampete1
a1fa683272
plane: Qautotune: move functions to ModeQAutotune
2021-08-17 11:46:49 +10:00
Iampete1
e293866245
plane: Qacro: move functions to ModeQAcro
2021-08-17 11:46:49 +10:00
Leonard Hall
65b58dea85
Plane: fix PID filter names FILT -> FLTE, D_FILT -> FLTD
2021-08-10 08:33:56 +09:00
Peter Hall
ed4345cb3b
Quadplane: tailsitter: provide assistance at min throttle
2021-08-08 19:41:22 +10:00
Peter Hall
2527117cf9
Quadplane: combine assistance_needed and assistance_safe functions
2021-08-08 19:41:22 +10:00
Iampete1
7ff592d29e
Plane: Quadplane: move mode functions to mode classes in-place
2021-08-03 12:28:31 +10:00
Hwurzburg
b539a534e9
Plane: improve description of Q_TRIM_PITCH
2021-07-27 12:49:33 +10:00
Iampete1
beefd95079
Plane: QuadPlane: tailsitter param conversion, set and use new enable param
2021-07-27 09:08:34 +10:00
Iampete1
0eab3faf32
Plane: use new tailsiter class
2021-07-27 09:08:34 +10:00
Iampete1
2bc2b9533b
Plane: QuadPlane: move tailsitter to class
2021-07-27 09:08:34 +10:00
Peter Barker
06c2faaec5
ArduPlane: rename for AHRS restructuring
2021-07-21 21:01:39 +10:00
Hwurzburg
19213d3627
Plane: Allow yaw at zero throttle in VTOL descents
2021-07-20 11:10:25 +10:00
Iampete1
015b971ccb
Plane: add new dynamic mixer frame class
2021-07-20 09:19:28 +10:00
Peter Barker
93323f1f39
Plane: stop setting terrain singleton; libraries use singleton
2021-07-12 17:34:44 +10:00
Leonard Hall
7db568c85a
Plane: seperate kinimatic shaping from pid limit setting
2021-07-10 20:25:05 +09:00
Andrew Tridgell
50e6d67a66
Plane: update for new double precision position APIs
2021-06-24 21:34:30 +10:00
Andrew Tridgell
61ac45dd5a
Plane: use cleaned up APIs
2021-06-24 20:28:45 +10:00
Andrew Tridgell
66bc673442
Plane: fixed attitude control during QPOS_AIRBRAKE
...
this fixes a bug where we used the multicopter rate control when in
airbrake approach stage, which could lead to attitude going out of
control
2021-06-22 07:42:20 +10:00
Iampete1
6eab9b9c15
plane: quadplane: skip QPOS_POSITION1 on tailsitters
2021-06-15 09:25:58 +10:00
Hwurzburg
4f48233b43
ArduPlane: add QRTL always as Q_RTL_MODE option
2021-06-14 09:08:20 +10:00
Andrew Tridgell
0c8e81964e
Plane: reset yaw controller on entry to POSITION1
...
this fixes a yaw change when we finish landing approach in
QRTL. Thanks to Henry for noticing this
2021-06-14 07:53:32 +10:00
Andrew Tridgell
4307390820
Plane: fixed distance threshold for vtol land
2021-06-13 07:50:02 +10:00
Andrew Tridgell
f749c2c3ad
Plane: fixed issue with overspeed in QPOS_POSITIION1
...
this fixes the backflip issue on the convergence that Henry found
2021-06-13 07:50:02 +10:00
Andrew Tridgell
ae6220aace
Plane: cope with zero distance to target in QPOS_POSITION1
2021-06-10 13:50:29 +10:00
Andrew Tridgell
0f9e7001d1
Plane: limit speed in POSITION1 based on angle
...
this prevents trying to fly a quadplane fast backwards or sideways. If
flying backwards then a 3x reduction is used. For sideways a 2x
reduction is used
2021-06-10 13:50:29 +10:00
Andrew Tridgell
74ac9964f1
Plane: improved POSITION1 speed profile
...
allow acceleration up to the Q_WP_SPEED, and assume a decel profile
matching Q_TRANS_DECEL for approach speed
2021-06-10 13:50:29 +10:00
Andrew Tridgell
5f8e90cd6f
Plane: metadata fix for Q_OPTIONS
2021-06-10 13:50:29 +10:00
Andrew Tridgell
3611b1dbf7
Plane: added check for QPOS initialisation
...
thanks to Kris for noticing this!
2021-06-10 13:50:29 +10:00
Andrew Tridgell
db34577755
Plane: use a separate bit for landing reposition in quadplanes
...
when repositioning stop descent
2021-06-10 13:50:29 +10:00
Andrew Tridgell
06cd077c36
Plane: fixed stick mixing with land reposition in quadplanes
...
prevent stick mixing overriding landing control
2021-06-10 13:50:29 +10:00
Andrew Tridgell
f970735d47
Plane: fixed handling of NAV_LOITER_TIME with Q_GUIDED_MODE=1
...
and made logic of in_vtol_mode() easier to read
2021-06-05 13:05:30 +10:00
Andrew Tridgell
aa904d6bbc
Plane: fixed guided mode handling with new approach code
...
ensure we treat guided approach as not a vtol mode
2021-06-05 13:05:30 +10:00
Andrew Tridgell
f15497c6a9
Plane: only do fwd thrust loss detection in SLT vehicles
...
on tilt rotors and tailsitters it doesn't make sense to switch to
POSITION1 at low speeds when in APPROACH
2021-06-05 13:05:30 +10:00
Andrew Tridgell
0232fa7456
Plane: cope with fwd thrust loss in Q approach
...
if throttle is saturated and descending and low airspeed then declare
thrust loss
2021-06-05 13:05:30 +10:00
Andrew Tridgell
fbf5083e6a
Plane: avoid transition in QRTL
...
if close to home and already in a VTOL mode then don't transition
2021-06-05 13:05:30 +10:00
Andrew Tridgell
77ee922473
Plane: fixed NAV_CONTROLLER_OUTPUT in QRTL
2021-06-05 13:05:30 +10:00
Andrew Tridgell
245ded2f2d
Plane: fixed handling of loss of fwd thrust in QRTL
2021-06-05 13:05:30 +10:00
Andrew Tridgell
c7a14a5da1
Plane: disable cross-track in Q approach modes and QRTL
2021-06-05 13:05:30 +10:00
Andrew Tridgell
46722500b0
Plane: default Q_TRANS_DECEL to 6 for tailsitters
2021-06-05 13:05:30 +10:00
Andrew Tridgell
a7b809d5d4
Plane: added approach and airbrake options
...
this defaults VTOL landings to have an approach and airbraking stage,
allowing for more efficient landings. Can be disabled by setting
Q_OPTIONS bit 16
2021-06-05 13:05:30 +10:00
Andrew Tridgell
ddfc9e8300
Plane: improved quadplane auto-land into wind
...
when heading is strong we need to ramp up pitch limit slowly to
prevent a big dive
2021-06-05 13:05:30 +10:00
Andrew Tridgell
b4992cc226
Plane: added accessors for poscontrol state
...
allows for time since state entered
2021-06-05 13:05:30 +10:00
Andrew Tridgell
f1f7f01300
Plane: slave fixed wing desired rate to multicopter desired rate
...
this ensures that the two rate controllers don't fight each other when
in a VTOL mode
2021-06-05 13:05:30 +10:00
Andrew Tridgell
68a1100c64
Plane: use new APIs for takeoff/touchdown expected
2021-06-02 11:13:16 +09:00
Hwurzburg
bf14c32109
Plane: correct description of Q_TAILSIT_MOTMX param
2021-05-30 22:36:26 -07:00
Leonard Hall
e275ec9e63
Plane: Rename set_yaw_target_to_current_heading
2021-05-26 16:03:05 +09:00
Hwurzburg
38ed4a2dd6
ArduPlane: make centideg metadata incr and range consistent
2021-05-25 10:10:18 +10:00
Leonard Hall
8b3b6cf693
Plane: Fix before squash
2021-05-24 20:13:37 +10:00
Andrew Tridgell
d1f6d913d5
Plane: adjust reposition landing code
...
use accel with 1s timeconstant
2021-05-24 20:13:37 +10:00
Andrew Tridgell
5857e750ce
Plane: provide target velocity in QPOS descent
2021-05-24 20:13:37 +10:00
Andrew Tridgell
71fa52d5c6
Plane: fixed slowing descent in final phase of QLAND
2021-05-24 20:13:37 +10:00
Andrew Tridgell
ec1cbb06fd
Plane: allow reposition in auto land
2021-05-24 20:13:37 +10:00
Andrew Tridgell
6eafcdb558
Plane: added Q_OPTION bit for throttle control of landing speed
2021-05-24 20:13:37 +10:00
Andrew Tridgell
24375cf9c1
Plane: change printf calls to send_text
2021-05-24 20:13:37 +10:00
Andrew Tridgell
52b4c257ec
Plane: prevent oscillation in GUIDED mode hover
2021-05-24 20:13:37 +10:00
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
Andrew Tridgell
9d52333afc
Plane: don't start descent till under 3m/s
2021-05-24 20:13:37 +10:00
Leonard Hall
4bae8f03a4
Copter: Use PosControl fixes
2021-05-24 20:13:37 +10:00
Leonard Hall
57952861d6
Plane: PosControl Update
2021-05-24 20:13:37 +10:00
Leonard Hall
ff2ae1d7d1
Plane: integrate AC_PosControl::get_roll_cd rename
2021-05-12 17:16:00 +10:00
Leonard Hall
1ce63bf433
Plane: minor format and comment fixes
2021-05-12 17:16:00 +10:00
Iampete1
1a182a52da
Plane: init terrain to locaiton and wpnav sub sytems
2021-05-02 18:51:27 +10:00
Iampete1
572e401894
Plane: fix QRTl terrain following
2021-05-02 18:51:27 +10:00
Andrew Tridgell
b749756c29
Plane: setup SMAX for Q modes
...
this enables logging of rates, which helps with tuning
2021-04-13 10:28:47 +10:00
Peter Hall
105f94f1fd
Plane: tailsitter: transistion to and from inverted flight
2021-04-13 10:02:28 +10:00
Peter Hall
5a941ce02f
PLane: tailsitter: instant transition when disarmed
2021-04-07 17:55:48 +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
75dc0ced10
Plane: Quadplane: remove outdated Z controller reset
2021-04-07 17:37:30 +10:00
Iampete1
d1fabe0c3d
Plane: VTOL: remove motors config error
2021-03-30 10:58:05 +11: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
Hwurzburg
d15e01d390
Plane: fix DO_CHANGE_SPEED airspeed to impact only AUTO and GUIDED modes
2021-03-16 10:09:34 +11:00
James O'Shannessy
5dd40afe0a
ArduPlane: Retrigger fence breach if mode
...
ArduPlane: Move auto enabling code to common fence library
2021-03-05 14:52:46 +11:00
James O'Shannessy
8a99d9dd00
ArduPlane: Use auto enable and auto disable from AC_Fence
2021-03-05 14:52:46 +11:00
Dr.-Ing. Amilcar do Carmo Lucas
4f7ffc5eb1
Plane: move fence disable code to a function to enable reusability
2021-03-05 14:52:46 +11:00
Randy Mackay
4c8ada111b
Plane: quadplane defaults Q_WP_SPEED to 500
...
Q_WP_ACCEL default is set to 100
2021-03-03 08:03:39 +09: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
Iampete1
8ebe64a274
Plane: Quadplane disable forward motor assist in Q modes if rangefinder is out of range low
2021-02-28 18:48:56 +11:00
Andrew Tridgell
44df1dd0ca
Plane: fixed the pitch control in transition for tilt rotors
...
this fixes an issue found by Henry. If level transition is set when
transitioning to FBWA from a Q mode, and the pilot pulls back on the
pitch stick to demand pitch up then the plane would go into a
high-alpha flight state with low vertical throttle so it would not
climb, resulting in it never getting past airspeed wait state
2021-02-28 11:33:18 +11:00
Andrew Tridgell
319368e4b7
Plane: fixed yaw on fwd transition in tilt quadplanes
...
this fixes the coordinated turn calculation for yaw rate in tilt
quadplanes, and also only applies it if demanding at least 10 degrees
roll.
this fixes an issue when the pilot has a small roll demand in FBWA
from slightly off roll RC trim
thanks to Henry for helping diagnose this!
2021-02-27 14:42:20 +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
004f873dc7
Plane: update Quadplane FRAME_CLASS description
2021-01-26 11:07:36 +09:00
Randy Mackay
0d0ff63242
Plane: ensure wp_nav::wp_and_spline_init is called at least once
2021-01-20 18:22:44 +11:00
Iampete1
e4fbe64616
Plane: add QuadPlane singleton
2021-01-19 11:18:10 +11:00
Peter Hall
05fb14e5d9
Plane: tailsitter start transition from initial pitch
2021-01-19 10:46:58 +11:00
Iampete1
4dec597372
Plane: move quadplane logging to QuadPlane: update()
2021-01-19 10:24:05 +11:00
Pierre Kancir
742cfc543f
Plane: fix parameter unit
2021-01-12 10:21:55 +11:00
Josh Henderson
cc1e395854
ArduPlane: privatize AHRS logging
2021-01-12 10:13:22 +11:00
Peter Barker
6baaf03c8c
Plane: move auto_throttle_mode to being a method on each mode
2021-01-10 16:04:30 +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
54ee2c35fb
Plane: rename tailsitter scailing max param to match min and update descriptions
2020-12-22 11:00:59 +11:00
Iampete1
c8b3c91ae5
Plane: Tailsitter add disk theory and altitude gain scailing
2020-12-22 11:00:59 +11:00
Mark Whitehorn
dd7a860f23
Plane: always instantiate AC_AttitudeControl_TS
2020-12-21 12:56:24 +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
8e3c6124eb
Plane: added support for rear motor tilt
...
needed for X8 tilt tri test aircraft for this PR
2020-12-21 12:05:50 +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
Hwurzburg
8658023dad
Plane: Add lower CHECK_SCALE defaults for QuadPlane
2020-12-07 11:49:01 +11:00
Andrew Tridgell
cd6ddf7d4f
Plane: fixed disable of geofence on quadplane landing
...
fixes #15917
2020-12-02 18:33:07 +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
42887891be
Plane: tailsitter: make sure alt target is abover current alt
2020-11-17 10:15:27 +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
Mark Whitehorn
c054218568
Plane: report quadplane setup errors in config_error loop
2020-11-05 15:04:10 +11:00
Iampete1
5f67f8130b
Plane: tailsitters use Z stopping point on transition
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
Mark Whitehorn
85480c8865
Plane: update frame_type parameter description
2020-10-27 10:24:20 +11:00
Iampete1
2acbef5579
Plane: tailsitters in VTOL transition use FW rates
2020-10-13 10:07:05 +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
Hwurzburg
8c856b3ed2
Plane: Add missing Q_OPTIONS metadata for all options
2020-09-25 13:43:59 +10:00
Andy Piper
d16872cca5
Plane: compile out ADSB mode if required
2020-09-24 08:22:16 -07:00
Andrew Tridgell
e9b8a20312
Plane: fixed hover learn in quadplanes for THR_MIN>0
...
petrol quadplanes commonly have THR_MIN>0, and without this change
cannot ever learn the hover throttle
2020-09-08 11:09:25 +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
Mark Whitehorn
bcdd16025b
Plane: replace AP_MotorsMatrixTS with AP_MotorsMatrix
2020-09-08 10:50:31 +10:00
Iampete1
abee62abc4
Plane: use throttle in for transition max comparison
2020-08-30 18:19:40 +10:00
Mark Whitehorn
ee65940dfa
Plane: enable yaw in qstabilize:air_mode at zero throttle
2020-08-13 08:47:27 +10:00
Mark Whitehorn
4630e9af30
Plane: add Mode::is_vtol_man_mode
...
and make use of is_vtol_mode in in_vtol_mode
2020-08-13 08:47:27 +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
Andrew Tridgell
6466912ac0
Plane: don't crosstrack after AUTO VTOL takeoff
2020-08-04 09:26:08 +10:00
Andrew Tridgell
cce2532901
Plane: fixed use of VTOL control for missions
...
horizontal speed was not being setup when doing waypoint missions in
VTOL mode
2020-07-28 08:06:14 +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
Peter Barker
d47569ccef
Plane: correct ASSIST_ANGLE description
2020-07-01 20:57:32 +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
Peter Barker
1206df6f0c
ArduPlane: remove use of Vector2 as function
2020-06-16 11:00:44 +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
Michael du Breuil
9eaf7f5528
Plane: Fix VTOL yaw for STICK_MIXING 0
2020-05-08 08:44:03 +10:00
Andrew Tridgell
d0a509eef1
ArduPlane: invalidate param count when changing param tree structure
2020-04-29 07:36:55 +10:00
Henry Wurzburg
3397bce235
Plane: Quadplane tailsit transition to FW throttle level change
2020-04-21 09:51:47 +10:00
Henry Wurzburg
6c730ccfec
Plane: start tailsitter forward transition from current pitch angle
2020-04-21 09:50:57 +10:00
Rishabh
0c5d68dfeb
Plane: Replace update_vel_controller_xy() with update_xy_controller()
2020-04-21 09:22:45 +10:00
Andrew Tridgell
156fe0846f
Plane: fixed plane landing gear to obey LGR_OPTIONS bits
...
we forced landing gear retract/deploy on takeoff and landing when we
should be following the options bits
2020-04-15 17:10:31 +10:00
Michael du Breuil
37be15b3cd
Plane: When stick mixing is disabled do not apply stick mixing to quadplane modes
2020-04-04 10:12:22 +11:00
Mark Whitehorn
cbce94005b
Plane: expand description of QTUN.Sscl log message field
2020-04-03 08:36:55 +11: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
Peter Barker
74dbcac40e
ArduPlane: log disarm method
2020-02-22 12:16:29 +11:00
Andrew Tridgell
7a14992cce
Plane: reset TECS at end of auto VTOL takeoff
2020-02-16 17:04:07 +11:00
Andrew Tridgell
0bfab20bd0
Plane: fixed a bug in LOITER_TURNS in quadplanes
...
if NAV_LOITER_TURNS is used with Q_GUIDED_MODE=1 then we would orbit
forever. This ensures we do exit the loiter
2020-02-12 13:52:32 +11:00
Peter Hall
a2e72de5ae
Plane: move to airspeed_estimate with pointer
2020-01-14 22:34:37 -07: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
c16f3a2cba
Plane: simplify body-frame roll axis swapping and constrain yaw rate max
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
Peter Barker
1fdb4b429f
Plane: use https:// scheme for ardupilot URLs
2019-12-10 07:53:46 +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
Andrew Tridgell
680a89671f
Plane: fixed doc path for Q_AUTOTUNE
2019-11-01 09:31:40 +11:00
Leonard Hall
87b49c64f8
Plane: limit ATC_MOT_MIX_MAX in case of a fly away
2019-10-31 12:23:48 +08:00
Michael du Breuil
ee96ec7f0d
Plane: Support new AP_Vehicle::set_mode
2019-10-25 08:48:22 +08:00
Randy Mackay
edb5f05339
Plane: minor comment changes
2019-10-22 07:15:48 +08: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
Michael du Breuil
f9580424f6
Plane: Resore old default behaviour for throttle curves
...
The change in this made QStabilize behave very differently then it had,
which is quite shocking in a test flight.
2019-10-07 21:17:07 +11:00
Andrew Tridgell
db4ae9ff24
Plane: check airspeed and active Z controll for hover learning
2019-10-04 14:01:08 +10: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
Andrew Tridgell
34b0967d09
Plane: prevent fwd motor from spinning up on ground in quadplane landing
...
if the rangefinder starts to measure below it's min range then the fwd
motor can spin up.
Thanks to Josh for reporting this!
2019-09-17 09:36:26 +10:00
Andrew Tridgell
7751352a86
Plane: implement VTOL landing for AFS termination
...
this allows for vertical landing as an AFS_TERM_ACTION
2019-09-12 09:59:17 +10:00
Mark Whitehorn
788e7a840c
Plane: default angle_boost to disabled for tailsitters
2019-09-12 09:05:42 +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
Henry Wurzburg
7178655cbe
Plane: fixed landing after VTOL loiters
2019-09-10 08:57:13 +10:00
Leonard Hall
34da437266
Plane: support for upgrade to PID object
2019-07-25 17:38:15 +09:00
Leonard Hall
157f786adf
Global: rename desired to target in PID info
2019-07-25 17:38:15 +09:00
Michael du Breuil
22598b1a4b
Plane: Reduce inerital nav dependence
2019-07-16 12:11:42 +09: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
1iggy2
220176f283
Plane: added octa I frame
2019-06-04 09:49:44 +09:00
Peter Barker
400aa53654
Plane: move arming-related functionality into parent classes
...
Logging moves up
arming via mavlink moves up
arming via switch moves up
2019-05-30 07:37:30 +09:00
Mark Whitehorn
34a1cf9528
Plane: move callback setup to QuadPlane::setup()
2019-05-08 10:28:42 +10:00
Mark Whitehorn
aeaff72e14
Plane: fix acro stabilization check
2019-05-08 08:44:52 +10:00
Mark Whitehorn
4a7ce1b384
Plane: clean up qacro
2019-05-08 08:44:52 +10:00
Mark Whitehorn
dd50d435ab
Plane: limit bodyframe roll mode to tailsitters
2019-04-30 08:51:24 +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
Mark Whitehorn
b515431008
AP_Math: add expo and throttle_curve functions
2019-04-23 09:46:38 +10:00
Pierre Kancir
65b4ba0539
ArduPlane: use past_interval_finish_line and line_path_proportion from Location
2019-04-23 09:20:43 +10:00
Peter Barker
f09822a400
Plane: adjust for desired spool state and spool state renames
2019-04-14 12:18:03 +09:00
Pierre Kancir
d8990a002e
Plane: update locations_are_same to same_latlon_as
2019-04-08 08:05:05 -07:00
Pierre Kancir
47141562c0
ArduPlane: use get_distance_NE instead of location_diff
2019-04-08 08:00:52 -07:00
Leonard Hall
2daa5ffb9e
Plane: replace set_throttle_out_unstabilized
2019-04-08 09:42:21 +09:00
Tom Pittenger
ade6281923
Plane: use #if ADVANCED_FAILSAFE == ENABLED just like Rover and Copter
2019-04-03 17:46:50 -07: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
Mark Whitehorn
825055d736
Plane: add rate-only option for QACRO mode
2019-03-19 10:13:59 +11:00
Mark Whitehorn
6414f0e48e
Plane: skip plane assignments in QACRO
2019-03-19 10:13:59 +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
Andrew Tridgell
b4103d04cc
Plane: never use vfwd motor if vtol motors shutdown
2019-03-18 13:38:41 +11:00
Andrew Tridgell
7908ad437e
Plane: allow fwd motor to run in VTOL land hor positioning
...
this fixes an issue with vtol landings below the takeoff point
2019-03-18 13:38:41 +11:00
Peter Barker
ca7566fff9
Plane: use enum class for ArmingMethod and ArmingRequired
2019-03-12 19:48:14 +11:00
Peter Barker
cbb0bfb809
Plane: is_flying_vtol: if spool mode is shut down we are not flying
...
The subsequent check for get_throttle passes if you switch from QHOVER
to MANUAL on the ground while armed. get_throttle returns > 0.01 - but
the motors are shut down so no output occurs.
2019-03-12 10:21:11 +11:00
Mark Whitehorn
4a6b97828f
ArduPlane: add tailsitter input type TAILSITTER_INPUT_BF_ROLL
2019-03-06 15:48:51 +11:00
Mark Whitehorn
01d6f1d932
ArduPlane: add body-frame yaw mode for tailsitters
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
IamPete1
f24c6785f2
Plane: add E-stop
2019-02-27 08:51:24 +09: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
Michael du Breuil
25a2c77782
Plane: Fix not logging quadplane control, and over logging attitude control
2019-02-22 11:59:26 +11: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
Andrew Tridgell
28cf9d2f24
Plane: allow rudder at zero throttle
...
if rudder disarming is disabled
2019-02-03 05:02:07 -08:00
Randy Mackay
4d5e13f1d4
Plane: : integrate AC_WPNav::get_speed rename to get_default_speed
2019-01-31 19:34:32 +09:00
Mark Whitehorn
5c81a78c9c
Plane: tailsitter forward transition bugfix
2019-01-22 12:55:47 +11:00
Peter Barker
40856fef56
Plane: remove vestiges of old PX4_MIXER code
2019-01-19 19:31:03 +11:00
Peter Barker
6fc76a32af
GLOBAL: use AP::logger() and strip redundant Log_ from methods
2019-01-18 18:08:20 +11:00