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