Commit Graph

549 Commits

Author SHA1 Message Date
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