Commit Graph

121 Commits

Author SHA1 Message Date
Peter Barker
3d34e061fe ArduPlane: add and use HAL_QUADPLANE_ENABLED 2021-09-14 11:23:18 +10:00
Iampete1
b18da48f39 Plane: remove AUTO_FBW_STEER 2021-09-12 22:12:32 -05:00
Iampete1
71e2e25313 Plane: attitude: in vtol modes call mode run and stabalize with surfaces 2021-09-08 18:06:58 +10:00
Iampete1
0eab3faf32 Plane: use new tailsiter class 2021-07-27 09:08:34 +10:00
Andrew Tridgell
1ae669bb01 Plane: added manual input expo for MANUAL, ACRO and TRAINING
this is easier than setting up mode specific expo in radios for flying
in manual modes
2021-07-23 14:47:14 +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
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
Hwurzburg
09fb9a8e58 Plane: limit speed scaling in Autotakeoff wo AS sensor option 2021-04-20 09:07:09 +10:00
Andrew Tridgell
e5308db8c2 Plane: added FLIGHT_OPTIONS bit to enable yaw control in ACRO mode
this allows for yaw damper in ACRO, which is important on some
vehicles with no vertical stabilize

See
https://discuss.ardupilot.org/t/rudderless-split-rudder-flying-wing/69273/4
2021-04-15 06:22:29 +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
Dr.-Ing. Amilcar do Carmo Lucas
fef8b37b11 Plane: Address Randy review comments 2021-03-05 14:52:46 +11:00
James O'Shannessy
aae092b88f ArduPlane: Remove all unused geofence capability
ArduPlane: Remove missed geofence logic
2021-03-05 14:52:46 +11:00
James O'Shannessy
17fb585bf1 ArduPlane: Add support for AC_Fence
ArduPlane: Remove some geofence logic from ArduPlane

ArduPlane: Refactor action and mode return implementation

ArduPlane: Use polyfence to find the return point.
2021-03-05 14:52:46 +11:00
Andrew Tridgell
c913d8134d Plane: use ahrs.groundspeed() instead of gps call
this fixes a zero of integrator when dead-reckoning after GPS has died
2021-02-21 09:13:31 +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
Peter Barker
f6cb1b5ad6 Plane: use a method on Mode for auto-navigation-mode
Avoids the state getting stale, which it will with a failed attempt to
go into qautotune, for example.
2021-01-10 16:04:30 +11:00
Iampete1
2d80dcd937 Plane: remove tailsitter VTOL transition race condition 2020-11-04 18:34:00 +11:00
Hwurzburg
cf055fd1e0 Plane: add midposition to flare RC option sw 2020-10-27 10:47:07 +11:00
Hwurzburg
b61ee34b6b ArduPlane: add RC option for landing flare 2020-10-13 11:36:19 +11:00
Andy Piper
d16872cca5 Plane: compile out ADSB mode if required 2020-09-24 08:22:16 -07:00
Andrew Tridgell
d9358b4ac2 Plane: don't allow a zero speed_scaler
this fixes an issue with yaw damper on quadplanes when at zero
airspeed

Thanks to Vladi Portnoy for reporting this
2020-06-29 20:09:41 +10:00
Buzz
0f5177b291 Plane: Support a set of offboard MAVLink guided controls with rates
+ 3 rounds of fixes
2020-05-20 15:03:21 +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
Peter Hall
a2e72de5ae Plane: move to airspeed_estimate with pointer 2020-01-14 22:34:37 -07:00
Andrew Tridgell
470a60f828 Plane: reset steering in MANUAL or when not stabilising 2019-08-22 20:10:09 +10:00
Andrew Tridgell
aa18c75689 Plane: decay fw rate integrators when at low airspeed
this prevents large fixed wing control surface integrators from
causing issues when we have wind from behind in hover
2019-07-07 18:16:47 +10:00
Andrew Tridgell
ebe2278f5d Plane: reset rate controller integrators if not run for 2s
this prevents a bug where integrator buildup can happen from a
previous flight mode
2019-07-07 18:16:47 +10:00
Tom Pittenger
6970a66cad Plane: refactor stick_mixing to library 2019-05-03 13:14:11 -07:00
Tom Pittenger
0270c57530 Plane: massive refactor and creation of Mode class 2019-04-02 16:28:52 +11: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
Michael du Breuil
843c92ced5 Plane: Remove some redundant code/state resets 2019-01-15 10:45:50 +11:00
Michael du Breuil
e6bc44f471 Plane: Fix cases where quadplane level transition was not applied 2018-12-31 10:36:32 +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
Andrew Tridgell
fa04c2d094 Plane: prevent jitter on surfaces due to speed scaling
when disarmed the k_throttle output can oscillate due to stage in the
loop we are at, even though actual output is zero. This can cause
jitter in the speed scaling, which causes surface movement

To fix, don't use k_throttle value when disarmed
2018-12-06 17:44:11 +11:00
Andrew Tridgell
da69bf3391 Plane: added an abstraction for reverse thrust
use have_reverse_thrust() and get_throttle_input()
2018-11-16 08:33:35 +11:00
Andrew Tridgell
1c162c8b64 Plane: ensure speed scaling covers full aircraft speed range
this is important for very fast or very slow aircraft
2018-11-02 15:30:50 +11:00
Andrew Tridgell
2215913b02 Plane: added speed scaling reduction for Q modes
when in a Q mode reduce surface movements at low airspeed, in case we
have the wind from behind us. This prevents the control surfaces from
causing instability
2018-09-14 19:28:29 +10:00
Michael du Breuil
8417bcc7d5 Plane: Add flight options bitmask 2018-08-28 09:40:53 +10:00
Tom Pittenger
512b327cd4 Plane: failsafe events to use enums instead of magical numbers : Non-functional change 2017-12-07 00:19:32 -08:00
Andrew Tridgell
85573b3ff3 Plane: fixed a division by zero
if min airspeed is zero
2017-11-19 16:04:40 +11:00
Michael du Breuil
d52f5155f0 Plane: Rename rc failsafe state members 2017-11-02 16:46:08 -07: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
Michael du Breuil
1bb806edb2 Plane: Use new landing interfaces 2017-03-02 12:38:59 +11:00
Andrew Tridgell
c787f4c56f Plane: initial support for tailsitter transitions 2017-02-18 17:26:43 +11:00
Michael du Breuil
29b16dbafd Plane: Refactor to request relative altitudes from AHRS
Removes the need for plane to do the math for finding the relative height.

Also caches the value at the same time we update current_loc, which is a
non behaviour change as that was the only time you could see a change in
the relative height propegate through the system anyways
2017-02-13 09:23:14 +11:00
Tom Pittenger
e709705ab8 Plane: describe flight stages without using specific stage name 2017-01-26 13:11:43 -08:00
Andrew Tridgell
081909bf6a Plane: removed use of pwm_to_angle() 2017-01-12 17:39:37 +11:00
Andrew Tridgell
b83f50be0f Plane: use new SRV_Channels API 2017-01-12 17:39:37 +11:00
Tom Pittenger
063f517424 Plane, TECS, AP_Landing: rename stage LAND_ABORT to ABORT_LAND
this will reduce confusion when searching for FLIGHT_LAND_* and you get a bunch of takeoff related hits. It will also make more sense when the landing library fully manages the FLIGHT_LAND stage entirely because it will not mange FLIGHT_LAND_ABORT
2016-12-30 23:50:03 -08:00