Commit Graph

3953 Commits

Author SHA1 Message Date
Mark Whitehorn c2ad2d6090 Plane: tailsitter.input_type bugfix 2021-03-23 11:54:09 +11:00
Hwurzburg 0eb5369543 Plane: allow max auto pitch in hand launch takeoffs 2021-03-23 09:56:22 +11:00
Iampete1 660d301f9b Plane: chan param converison 2021-03-17 19:18:46 +11:00
Iampete1 cca5e62c89 Plane: move RST_SWITCH_CH to RCx_OPTION 2021-03-17 19:18:46 +11:00
Iampete1 7226a3a9dc Plane: move FBWA_TDRAG_CHAN to RC Options 2021-03-17 19:18:46 +11:00
Iampete1 5f555e5314 Plane: move CHUTE_CHAN to RC Options 2021-03-17 19:18:46 +11:00
Iampete1 eeab196d91 Plane: move RST_MISSION_CH to RC option 2021-03-17 19:18:46 +11:00
Stavros Korokithakis 29043d62e9 Add FLIGHT_OPTION to climb before RTL 2021-03-16 11:58:47 +11:00
Peter Barker 0b35708f33 Plane: set tailsitter throttle output when disarmed 2021-03-16 10:41:44 +11:00
Peter Barker 000ff90a71 autotest: remove thrust-to-actuator to armed section 2021-03-16 10:41:44 +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
Samuel Tabor ed48558985 ArduPlane: Correct description of KFF_THR2PTCH parameter. 2021-03-12 20:11:02 -08:00
Siddharth Purohit 1b8519ee53 ArduPlane: move underscore one layer down for GPS 2021-03-12 16:32:36 +09:00
James O'Shannessy 198ec9a678 ArduPlane: Fix use of nullptr when AC_FENCE configured as DISABLED
Parameter upgrade needs to grab singleton as the fence library may not be built in to plane.
2021-03-05 16:48:57 +11:00
James O'Shannessy 560943d6e0 ArduPlane: corrections to returning to the previous mode if fence was disabled while under action 2021-03-05 14:52:46 +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 2c66e164d0 ArduPlane: Improvements to parameter upgrading between versions 2021-03-05 14:52:46 +11:00
James O'Shannessy af733b2f09 ArduPlane: Convert and remap old parameters 2021-03-05 14:52:46 +11:00
James O'Shannessy f774196b52 ArduPlane: Cleanup of unnecessary comments in fence logic 2021-03-05 14:52:46 +11:00
James O'Shannessy c316711351 ArduPlane: Add conversion from ArduPlane geofence param to AC_Fence param 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
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
Paul Riseborough baea2c33bd Plane: remove unnecessary call to setTakeoffExpected
This is already set from inside Plane::set_servos_controlled when throttle up and or launch accel is detected.
2021-03-05 12:10:01 +11:00
Paul Riseborough 1dc79f0be8 Plane: Clarify calculation used to detect throw 2021-03-05 12:10:01 +11:00
Paul Riseborough 4e648734fa Plane: Fix takeoff pitch for hand launch 2021-03-05 12:10:01 +11:00
Paul Riseborough 39e1eb238d Plane: make detection of impending takeoff more likely 2021-03-05 12:10:01 +11:00
Paul Riseborough a1bde16abd Plane: Fix failure to disarm after landing in strong winds 2021-03-05 12:10:01 +11:00
Paul Riseborough ad582a90dd Plane: Don't set takeoff expected until vehicle is armed. 2021-03-05 12:10:01 +11:00
Paul Riseborough f5f13b9a47 Plane: Set default airspeed variance using airspeed range 2021-03-05 12:10:01 +11:00
Paul Riseborough 82f68464d4 Plane: Don't lower nose when hand launching 2021-03-05 12:10:01 +11:00
Peter Barker f85e55a611 Plane: override mission-changing-command to reset some state 2021-03-04 11:59:33 +11:00
Tom Pittenger 5c8d3a87db Plane: change SRx_ docs value 1 50 2021-03-03 18:17:22 +11:00
Iampete1 69275582fa QuadPlane: fix loiter to RTL instant QRTL switch 2021-03-03 15:07:22 +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
Andrew Tridgell ee2f7eac80 Plane: prepare for 4.0.9 2021-02-23 08:03:12 +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 1b74058842 Plane: recalculate glide slope after achieving rtl.done_climb 2021-02-13 19:34:52 +11:00
Pierre Kancir 6062e4ee81 ArduPlane: use AUX_PWM_TRIGGER_LOW and AUX_PWM_TRIGGER_HIGH 2021-02-10 18:48:06 +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
Samuel Tabor db8aaeb63a Plane: During takeoff keep limit at LEVEL_ROLL_LIMIT until rotate speed is reached. 2021-02-09 10:08:41 +11:00
Andrew Tridgell 2e9b2fbc2b Plane: update release notes for 4.0.9beta1 2021-02-06 15:46:01 +11:00
Peter Barker af29f34f2c Plane: store previous_mode_reason only as a local
It's never used outside the mode-changing method.
2021-02-03 20:33:25 +11:00
Iampete1 e600df680e Plane: instantly switch from RTL to QRTL if within radius 2021-02-03 18:53:54 +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
Peter Barker eaa6b36077 ArduPlane: move control_mode_reason up to AP_Vehicle 2021-02-03 18:24:52 +11:00
Peter Barker b6d0208287 Plane: allow arming in all auto-throttle modes
... except QRTL and QLAND which are now universally denied for arming.
2021-02-03 18:22:10 +11:00
Peter Barker a9be4480b1 Plane: mark q modes as not having auto-throttle control
Reverts part of 6baaf03c8c

AvoidADSB was NOT marked as AutoThrottle before that commit but was
marked as such in that commit.
2021-02-03 18:22:10 +11:00
Samuel Tabor d2c8eb8ce9 Plane: Allow AP_Soaring to specify loiter radius in THERMAL mode. 2021-01-29 11:20:09 -08:00
Andrew Tridgell b20604bb59 Plane: update release notes for 4.0.8 2021-01-26 17:17:40 +11:00
Iampete1 004f873dc7 Plane: update Quadplane FRAME_CLASS description 2021-01-26 11:07:36 +09:00
Andrew Tridgell 5f4b5c4b94 Plane: prevent failsafe from changing mode during landing
this prevents RC or GCS failsafe from triggering a mode change during
a landing
2021-01-26 11:17:10 +11:00
Peter Barker 87486739d1 Plane: disallow changing to INITIALISING mode 2021-01-26 10:47:27 +11:00
Randy Mackay d487d6152e Plane: ahrs pre-arm always runs position checks 2021-01-26 10:46:49 +11:00
Peter Barker 95bc9cca79 ArduPlane: use ground_course in preference to ground_course_cd 2021-01-26 10:22:28 +11: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
Samuel Tabor d97a81bfea Plane: Re-order logic in soaring.cpp. 2021-01-13 18:35:53 +11:00
Samuel Tabor a8549f5e5f Plane: Use const method on modes classes to mark those that support auto switch to THERMAL mode. 2021-01-13 18:35:53 +11:00
Peter Barker b698546b70 ArduPlane: add do_disarm_checks boolean to disarm call
this creates symmetry between arming and disarming, at least as far as
the top-level arm() and disarm() calls are concerned.
2021-01-12 08:48:44 +09: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
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
Peter Barker a1ea1306a1 Plane: use pure-virtual method for allows_throttle_nudging
In place of a state variable which could become stale
2021-01-10 16:04:30 +11:00
Andrew Tridgell 6a804c3a09 Plane: update release notes for 4.0.8beta1
# Conflicts:
#	ArduPlane/release-notes.txt
2021-01-06 09:37:39 +11:00
Peter Hall 0c68ec7b5c Plane: add limit to pid log metadata 2021-01-05 10:27:28 +11:00
Andrew Tridgell 96c2a5c77c Plane: added scaling for Q_TAILSIT_VFGAIN
this scales the vectoring in fixed wing flight to remove the impact of
surface speed scaling and add throttle scaling
2021-01-05 08:23:28 +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
Michael du Breuil 2909623057 Plane: Ensure that only one form of throttle nudging is active at once 2021-01-03 12:47:14 +11:00
Hwurzburg 913d1b81b2 Plane: correct bug that prevents QACRO rudder disarm 2021-01-02 08:59:31 +11:00
Tom Pittenger c653ff880a Plane: extend Stream rates param count to match MAVLINK_COMM_NUM_BUFFER 2020-12-29 07:52:09 -07:00
Peter Barker 9b2ef4f6f1 Plane: move rudder-arming arm checks into Plane's AP_Arming 2020-12-29 12:55:27 +11:00
Hwurzburg 5b471c4c0e Plane: move loiter,thermal out of auto fs group 2020-12-29 10:55:00 +11:00
Iampete1 33e397c524 Plane: tailsitter: output 0 tilt with 0 vector gain 2020-12-22 11:00:59 +11:00
Iampete1 c62c19c798 Plane: tailsitter: apply gain scailing to Tilts in motors only Qassist 2020-12-22 11:00:59 +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 0976979045 Plane: tailsitter: set motor limit flags 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 9bf89e5635 Plane: add check for vectored tailsitter in tailsitter_transition_vtol_complete 2020-12-21 12:56:24 +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
Peter Barker 1307a2fea8 ArduPlane: add auxillary function to change to FBWA 2020-12-15 19:14:33 +11:00
Habibullah Oladepo 739fec001f Plane: Fix typos in Parameters.cpp 2020-12-13 10:51:38 -08:00
Tom Pittenger 04f6b2e26e Plane: remove unnecessary ::cork() in init 2020-12-11 17:48:11 +11:00
yaapu 141010ac39 ArduPlane: added virtual getters for waypoint info 2020-12-10 12:39:44 +11:00
Tom Pittenger 4a35159cba Plane: reset baro_takeoff_alt while disarmed 2020-12-09 18:17:53 +11:00
Andrew Tridgell cd2f2f96eb rename barometer parameters to BARO prefix 2020-12-08 13:22:17 +11:00
Peter Barker 719ca3f95f Plane: be consistent about strings in fence auto-enable/disable 2020-12-08 12:26:35 +11:00
Andrew Tridgell 2d0201855e ArduPlane: moved init_safety to AP_Vehicle 2020-12-08 11:14:24 +11:00
Peter Barker 5fae2652ab ArduPlane: let AHRS get the airspeed sensor from the singleton 2020-12-07 15:57:28 -08: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 52f61c7ac1 Plane: make FENCE_AUTOENABLE an AP_Enum 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
Hwurzburg 3cdcce2123 ArduPlane: add inflight airspeed cal rc switch 2020-11-25 21:30:15 +11:00
Gone4Dirt 70246059ed Plane: Move AP_Generator to AP_Vehicle 2020-11-24 12:54:52 +11:00
Iampete1 0e50023593 Plane: tailsitter: use true hover throttle in VTOL transision. 2020-11-18 19:33:21 +11:00
Iampete1 dd3ac893b3 Plane: dont use VTOL throttle percentage in tailsitter vtol transisiton 2020-11-18 19:33:21 +11:00
Hwurzburg 5e8e088978 ArduPlane:Add safety limit on tailsitter VTOL transition throttle
Co-authored-by: Peter Hall <33176108+IamPete1@users.noreply.github.com>
2020-11-17 11:21:17 +11:00
Iampete1 42887891be Plane: tailsitter: make sure alt target is abover current alt 2020-11-17 10:15:27 +11:00
Iampete1 f480f4e946 Plane: tailsitter: fix Qassist back - transision 2020-11-17 10:15:27 +11:00
Iampete1 c03de6bdbe Plane: log Qassist state 2020-11-17 10:15:27 +11:00
Andy Piper fa454da315 Plane: allow OSD for TX-only screens 2020-11-11 18:13:11 +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
giacomo892 9b4441011c ArduPlane: Fix throttle nudge reset due to wrong radio timing 2020-11-10 10:20:23 +11:00
Mark Whitehorn c054218568 Plane: report quadplane setup errors in config_error loop 2020-11-05 15:04:10 +11:00
Iampete1 2d80dcd937 Plane: remove tailsitter VTOL transition race condition 2020-11-04 18:34:00 +11:00
Iampete1 5f67f8130b Plane: tailsitters use Z stopping point on transition 2020-11-04 18:34:00 +11:00
Iampete1 024d2b7435 Plane: always output flaperons and dspoilers 2020-11-03 10:44:07 +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
Andrew Tridgell e5d580412e Plane: fixed usage of rangefinder in landing with RNGFND_LANDING=0
this fixes two places where rangefinder can affect landing when
RNGFND_LANDING=0
2020-11-03 10:08:00 +11:00
Iampete1 e6ba53856a Plane: tailsitter: ask for FW state don't check 2020-10-27 11:04:52 +11:00
Hwurzburg cf055fd1e0 Plane: add midposition to flare RC option sw 2020-10-27 10:47:07 +11:00
Mark Whitehorn 85480c8865 Plane: update frame_type parameter description 2020-10-27 10:24:20 +11:00
Randy Mackay 0362895720 Plane: integrate ahrs::get_variances change
offset is no longer returned
2020-10-21 08:58:45 +09:00
Iampete1 8885aa255d Plane: correct logger Message spelling error 2020-10-14 08:17:25 +11:00
Iampete1 916b35eec8 Plane: add EAS2TAS to CTUN 2020-10-13 15:18:36 +11:00
Hwurzburg b61ee34b6b ArduPlane: add RC option for landing flare 2020-10-13 11:36:19 +11:00
Samuel Tabor 9eef30294f Plane: Separate soaring update in mode_thermal to avoid loop rate issues. 2020-10-13 10:25:32 +11:00
Samuel Tabor 31c681c1cf Plane: Move soaring functions to mode_thermal. 2020-10-13 10:25:32 +11:00
Iampete1 2820228ad6 Plane: only do_change_speed within FBW min and max 2020-10-13 10:21:52 +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
Randy Mackay 60b4953751 Plane: integrate ahrs.pre_arm_check 2020-10-07 11:53:07 +11:00
Randy Mackay eeaf135cca AP_Arming: integrate ahrs.pre_arm_check 2020-10-07 11:53:07 +11:00
Randy Mackay 92f34a19d3 Plane: integrate parachute check_sink_rate
this was previously part of the update function.  It can be run before or after the update
2020-10-06 16:14:59 +11:00
Peter Barker 2783257aa4 Plane: correct compilation when logging disabled 2020-10-06 11:25:09 +11:00
Andrew Tridgell 9f3afe5434 Plane: update release notes for 4.0.7beta1 2020-10-02 15:16:40 +10:00
Iampete1 fb467da473 Plane: use Plane target yaw for ATT log 2020-09-30 18:15:42 +10: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
Iampete1 b61cf72b8c Plane: tailsitters in Qassist inherit motor state 2020-09-30 18:12:44 +10:00
Andrew Tridgell cfcd17f0d1 Plane: fixed bug in RC_Channel::has_valid_input
needs to go false when no RCIN and THR_FAILSAFE=2. This prevents ICE
library from using RC input
2020-09-29 10:43:41 +10:00
Samuel Tabor 589382cbb4 Plane: Add THERMAL mode to Parameters.cpp metadata. 2020-09-25 11:34:48 -07: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