Andrew Tridgell
eabdaae1e7
Plane: use set_lean_angle_max_cd()
...
allows for a wider range of Q_TRANS_DECEL while landing on the desired
landing point
2022-03-18 13:36:16 +11:00
Andrew Tridgell
cc6fc2b130
Plane: improvements to POSITION1 controller
...
this improves 4 things in the POSITION1 controller based on logs from
4.2.0beta2. The changes are designed to increase the tolerance to
an incorrect value for Q_TRANS_DECEL, reducing landing overshoot
1) we fix the initialisation of the acceleration. The
init_xy_controller() function assumes zero accel, so we need to
call set_accel_desired_xy_cmss() just after that init to get the
correct accel. Thanks to Leonard for this fix
2) if we decel more than expected due to too low Q_TRANS_DECEL we
need to reduce the target speed, rather than putting the nose down
3) lower the default Q_P_JERK_XY to a value more appropriate for most
quadplanes (Leonard suggested a value of 2)
4) fixed the pitch envelope from Q_BACKTRANS_MS to start after the
airbrake phase is complete
2022-03-18 13:36:16 +11:00
Andrew Tridgell
3772029450
Plane: fixed pitch envelope after AIRBRAKE
...
we need to setup last_fw_mode_ms and last_fw_nav_pitch_cd when we
enter POSITION1 mode so that the expanding envelope pitch limit from
Q_BACKTRANS_MS is applied correctly
2022-03-18 13:36:16 +11:00
Andrew Tridgell
8b16b5ca94
Plane: adjust throttle mix for auto landing
...
use mix-max during landing approach and initial descent, use min in
land final. As discussed with Leonard
2022-03-18 13:35:46 +11:00
Andrew Tridgell
a1856c5c22
Plane: added an arming check for Q_ASSIST_SPEED
...
Q_ASSIST should really be enabled for all non-tailsitter
quadplanes. This arming check will help users remember to configure it
2022-03-16 09:29:14 +11:00
Andrew Tridgell
55c46cd868
Plane: protect against short stop_distance
2022-03-10 13:41:18 +11:00
Andrew Tridgell
5e14b9efe6
Plane: use pos control for most of LAND_FINAL
...
this gives more accurate landing with some velocity drift
2022-03-10 07:34:20 +11:00
Andrew Tridgell
cc9b9813cb
Plane: review fixes
...
thanks Pete!
2022-03-10 07:34:20 +11:00
Andrew Tridgell
f09c715d7a
Plane: wait till motors are fully up before takeoff in guided mode
...
this allows for guided mode takeoff in tilt-rotors. Otherwise motors
till be pointing forward and takeoff will go very badly
2022-03-10 07:34:20 +11:00
Andrew Tridgell
3659669409
Plane: cope with high angle error in airbrake state
...
if we are flying too far off the target vector then exit airbrake
state. This prevents flying for a long distance away from the landing
point in airbrake mode
2022-03-10 07:34:20 +11:00
Andrew Tridgell
f9ecf15973
Plane: setup target accel in POSITION1 state
2022-03-10 07:34:20 +11:00
Andrew Tridgell
2864e21b31
Plane: allow for a trans decel margin
...
so if we are behind the velocity curve we are less likely to overshoot
landing
2022-03-10 07:34:20 +11:00
Andrew Tridgell
33bc067edf
Plane: fix NAV_CONTROLLER_OUTPUT in Q modes
...
Q modes don't always use wp_nav, but do use pos_control
AUTO and QRTL setup the plane navigation as well, so can use the L1
data
2022-03-10 07:34:20 +11:00
Andrew Tridgell
3fe9a55269
Plane: added APIs for lua ship landing
2022-03-10 07:34:20 +11:00
Andrew Tridgell
6d63e1f7d3
Plane: added Q_LAND_ALTCHG parameter
...
this is the threshold height change over 4 seconds for a landing to be
detected. It can be raised if landing detection is very slow
2022-03-09 07:50:10 +11:00
Iampete1
80f8f8b14e
Plane: quadplane: double log QPOS state change
2022-03-01 10:59:07 +11:00
Peter Barker
b19bfba0ec
Plane: use has_valid_input in place of checking throttle counter
2022-03-01 10:29:37 +11:00
Iampete1
267583db55
Plane: quadplane: never reset yaw target rates when entering QPOS1
2022-02-21 09:35:06 +11:00
Iampete1
9fd14dbf94
Plane: quadplane: set IO failsafe limit for all motors
2022-02-17 12:31:16 +11:00
Andrew Tridgell
1bdc9b5bf8
Plane: fixed in_vtol logic so QRTL can AIRBRAKE
2022-02-16 07:43:01 +11:00
Andrew Tridgell
aab6c94936
Plane: don't weathervane in AIRBRAKE state
...
this prevents unwanted VTOL motor throttle while trying to slow
down. In this stage the slaving of yaw rate to fixed wing roll control
is sufficient
2022-02-16 07:43:01 +11:00
Andrew Tridgell
2846f87eeb
Plane: reduce height gain in auto landing for tiltrotors
...
avoid running the motors while tilted past the tilt max if we are in
AIRBRAKE state. This stops a large amount of forward thrust from the
tilted motors while trying to slow down, while still maintaining
attitude control
2022-02-16 07:43:01 +11:00
Iampete1
1ca1707f9f
Plane: quadpalne: keep motors interlock state upto date with E-stop
2022-02-10 07:43:40 +09:00
Peter Hall
717b18a680
Plane: quadplane: add allow_weathervane transtion class method
2022-02-08 10:38:16 +11:00
Peter Hall
6a719664d3
Plane: quadplane: pass takeoff and landing state to weathervane
2022-02-08 10:38:16 +11:00
Gone4Dirt
a79359dc67
Plane: use new weathervane library
2022-02-08 10:38:16 +11:00
murata
f8383df5a4
Plane: Remove meaningless semicolons
2022-02-07 08:27:34 +09:00
Bill Geyer
54bdde8845
Copter: fix parameter issue with quadplane
2022-02-01 23:06:51 -05:00
Peter Barker
266d384ca7
ArduPlane: rename AP_AHRS::get_position to get_location
2022-01-25 10:47:22 +11:00
Iampete1
32488a5e3a
Plane: add MOTB logging at 10hz
2022-01-18 10:18:10 +11:00
Iampete1
3a5c7ea8fc
Plane: quadplane: add transtion fail action param
2022-01-11 11:02:33 +11:00
Peter Hall
2ffebebddc
Plane: tailsitter: provide min throttle limit based on disk therory outflow velocity
2022-01-11 10:37:38 +11:00
Iampete1
ca1b5b1db2
Plane: Quadplane: use get_frame_and_type_string
2022-01-05 19:51:19 +11:00
Peter Hall
d4eb2c6396
Plane: quadplane: QPOS_POSITION1 tailsitters use input_vel_accel method
2022-01-04 10:42:12 +11:00
Iampete1
4848ac9166
Plane: quadplane: don't use `is_active_z()`, becasue its wrong
2022-01-04 10:42:12 +11:00
Iampete1
fb1f6b57ad
Plane: Quadplane: never run Z controller if motors are not throttle unlimited
2022-01-04 10:42:12 +11:00
Peter Hall
c215fa0745
Plane: Quadplane: never run Z controller in tailsiter VTOL transtion
2022-01-04 10:42:12 +11:00
Peter Hall
9df753551e
Plane: quadplane: tailsitter: always relax pitch after transtion
2022-01-04 10:42:12 +11:00
Peter Hall
67d7ba490f
Plane: quadplane: pass time to tailsitter.in_vtol_transition where avalable
2022-01-04 10:42:12 +11:00
Hwurzburg
18e427d27d
Plane: add Q_OPTION to force fw trans on fail instead of QLAND
2021-12-24 13:55:15 +11:00
Iampete1
2154738421
Plane: Quadplane: only advance to QPOS_POSITION2 once tilts have finished slewing
2021-12-22 18:46:14 +11:00
Iampete1
eac52fe08f
Plane: quadplane: don't ouput VTOL throttle on tiltrotor with no VTOL motors and till fully forward
2021-12-22 18:46:14 +11:00
Iampete1
6116eaeb32
Plane: quadplane: enhance tiltrotor transtion to better deal with tiltrotors with all motors tilting
2021-12-22 18:46:14 +11:00
Hwurzburg
049f5f2135
Plane: fix divide by zero in transition time
2021-12-10 19:10:51 -08:00
Andrew Tridgell
e7c7cdd653
Plane: reset VTOL takeoff if not armed
...
we need to reset the takeoff target position while disarmed so we
don't use spurious position information from before we get good GPS
lock.
also remove the "Resetting previous waypoint" message as it doesn't
provide useful information and is just a distraction (it would be
printed continuously while waiting for arming with this PR)
2021-12-04 16:51:02 +11:00
Josh Henderson
52adda7c4c
Plane: INAV rename for neu & cm/cms
2021-11-30 10:08:07 +11:00
Josh Henderson
c6dd39773d
ArduPlane: inav use _xy()
2021-11-30 10:08:07 +11:00
Andrew Tridgell
36562ed30b
Plane: limited VFWD integrator to cruise throttle
...
in some situations (such as when landing approach is disabled) the
vfwd integrator can wind up to extreme values. This can put a huge
load on an electric quadplane as it is running both forward and vtol
motors, and the downforce from being nose down can be extreme.
It should never need to go above the cruise throttle in any reasonable
situation, so limit it to cruise to ensure we don't apply too much
forward throttle
2021-11-24 18:49:24 +11:00
Andrew Tridgell
77c43d9ba1
Plane: limiting POS1 landing target speed
...
prevent very high target speeds when the target velocity profile is
above the initial speed in POSITION1. Always allow up to 2*Q_WP_SPEED,
but don't go above the initial speed
2021-11-24 07:15:21 +11:00
Andrew Tridgell
8d59e6fa48
Plane: fixed variable name
...
thanks to Peter for noticing
2021-11-22 13:15:29 +11:00
Andrew Tridgell
ae81bbc5ed
Plane: suppress spurious EKF yaw reset message
...
this makes plane match copter, emitting a yaw reset event, but not
worrying user. This message came out on each boot when EKF3 first
became active
2021-11-17 20:54:12 +11:00
Iampete1
9210488550
Plane: quadplane: limit pitch for all transitions into position control modes
2021-11-17 19:10:56 +11:00
Peter Barker
70562021ac
ArduPlane: move from ENABLE_SCRIPTING to AP_SCRIPTING_ENABLED
2021-11-15 20:27:40 +11:00
Peter Barker
203103bae5
ArduPlane: ensure ENABLE_SCRIPTING is always defined
2021-11-15 20:27:40 +11:00
Iampete1
b9d240460b
Plane: remove SpdHgt and use TECS direct
2021-11-13 08:05:39 +11:00
Peter Barker
7c3de472b2
Plane: support send_extended_sys_state
2021-11-09 10:22:24 +11:00
Andrew Tridgell
d3742989ef
Plane: default rate max to 75 for quadplane VTOL
...
this reduces overshoot when VTOL tune is less than ideal
2021-11-07 06:58:53 +11:00
Andrew Tridgell
debae1381c
Plane: fixed a bug in POSITION1 speed thresholds
...
we were comparing two different speeds in the threshold for going to
Q_WP_SPEED limit. The reason the two speeds were different was the
wp_nav init happened before the defaults were setup for quadplanes
this fixes both bugs
2021-11-06 20:00:10 +11:00
Peter Barker
6a12d3f5d9
Plane: use enum class for StickMixing
2021-11-03 18:06:00 +11:00
Iampete1
af8688b300
Quadplane: add transiton class
2021-11-02 10:14:36 +11:00
Andrew Tridgell
b74dca02ca
Plane: avoid qpos approach when very close to destination
...
this prevents a fwd transition when doing something like LOITER_TIME
close to a VTOL_LAND wp. We use 1.5 times the stopping distance at
cruise airspeed for the threshold
2021-10-29 20:22:19 +11:00
Andrew Tridgell
19b5044223
Plane: fixed VTOL state error when using Q_ENABLE=2
...
this ensures the poscontrol state is reset if it has not been
initialised before a VTOL loiter operation
thanks to Pete Hall for finding this
2021-10-29 20:22:19 +11:00
Iampete1
73e9c9bb43
Plane: quadplane: forward throttle reutrn float
2021-10-20 18:29:58 +11:00
Iampete1
b31ce6734a
Plane: get throttle input return float
2021-10-20 18:29:58 +11:00
Peter Barker
eef8115ffc
ArduPlane: factor substring from allocation_error parameter
2021-10-18 12:49:44 +11:00
Iampete1
e99a5c6ef4
Plane: Quadplane: reinstate THR PWM param discriptions for stable users
2021-10-11 22:19:17 -04:00
Iampete1
30c9cccf78
Plane: Quadplane remove THR_MIN_PWM and THR_MAX_PWM
2021-10-11 22:19:17 -04:00
Iampete1
d1d6342165
Plane: update_throttle_range dont set_throttle_range
2021-10-11 22:19:17 -04:00
Andrew Tridgell
570ecdc2e0
Plane: don't apply fw pitch limit in VTOL control for tailsitters
...
tailsitters may have narrow fixed wing limits but need high limits for
landing in high wind
found this on a HWing which was essentially impossible to auto land
2021-10-10 06:35:20 +11:00
Hwurzburg
4e731bf4e2
Plane: add VTOL POS1 notification to QRTL mode
2021-10-06 11:38:32 +11:00
Andrew Tridgell
2be23fff2b
Plane: obey Q_RTL_ALT when in POS1 and POS2 states
...
this fixes the alt target for when user has disabled the quadplane
approach code
2021-10-02 12:46:59 +10:00
bugobliterator
ae4d368267
Plane: replace config_error with allocation_error
2021-09-30 08:51:26 +10:00
Iampete1
a350ebb358
Plane: quadplane: do_vtol_land remove uneded I reset
2021-09-28 10:51:21 +10:00
Andrew Tridgell
fd5faa866f
Plane: always log QPOS when changing control state
2021-09-27 21:21:53 +10:00
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