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
Samuel Tabor
10111f92d5
Plane: Rename SOARING_ENABLED to HAL_SOARING_ENABLED and don't compare to ENABLED.
2020-09-24 07:30:48 +10:00
Samuel Tabor
0a738395fa
Plane: Add THERMAL mode for thermal soaring.
2020-09-24 07:30:48 +10:00
Patrick José Pereira
c19801d420
ArduPlane: Use new AP_FWVersionDefine header
...
Signed-off-by: Patrick José Pereira <patrickelectric@gmail.com>
2020-09-23 20:58:35 +10:00
Peter Barker
15372e9213
ArduPlane: replace '@User: User' with '@User: Standard'
2020-09-22 14:56:04 +10:00
Tatsuya Yamaguchi
c67a924801
Plane: replace message indicating that initialisation has completed
2020-09-22 09:52:52 +10:00
Andy Piper
c057be8ed1
Plane: conditionally compile ADSB support
2020-09-22 09:33:51 +10:00
Iampete1
fc67c2c13b
Plane: check AP_Motors has init correcly for Quadplanes
2020-09-22 09:12:14 +10:00
Tom Pittenger
db10ad2e54
Plane: update USE_REV_THR param description to include landing pattern
2020-09-17 07:31:43 -07:00
Tom Pittenger
c4ab7caa33
Plane: add reverse_thrust option when in landing pattern
2020-09-17 07:31:43 -07:00
Samuel Tabor
e0f524d425
Plane: Soaring: Use circling time as timeout if less than 20s.
2020-09-10 09:18:52 -07:00
Samuel Tabor
ad48394b50
Plane: Add comment to clarify additional 10m in soaring altitude target.
2020-09-10 22:21:41 +10:00
Samuel Tabor
87530c1b2b
Plane: Soaring: Remove exit_mode argument from soaring_restore_mode.
2020-09-10 22:21:41 +10:00
Samuel Tabor
59f4c7a3c0
Plane: Allow auto climb back to SOAR_ALT_CUTOFF when soaring in FBWB or CRUISE modes.
2020-09-10 22:21:41 +10:00
Samuel Tabor
9f5b068d9e
Plane: Handle EXIT_COMMANDED return status in soaring.
2020-09-08 16:54:45 -07:00
Andrew Tridgell
e9b8a20312
Plane: fixed hover learn in quadplanes for THR_MIN>0
...
petrol quadplanes commonly have THR_MIN>0, and without this change
cannot ever learn the hover throttle
2020-09-08 11:09:25 +10:00
Mark Whitehorn
629f2153e0
Plane: move arming delay logic into AP_Arming_Plane
2020-09-08 10:54:42 +10:00
Mark Whitehorn
2b4772269d
Plane: tiltrotors: allow vectored yaw motor tilt when disarmed
...
add disarm tilt delay
add arming delay
add Q_OPTIONS for disarmed motor tilt and delayed arming
add comment explaining arming delay option
eliminate millis() wrap in arming delay
2020-09-08 10:54:42 +10:00
Mark Whitehorn
bcdd16025b
Plane: replace AP_MotorsMatrixTS with AP_MotorsMatrix
2020-09-08 10:50:31 +10:00
Hwurzburg
96f5e2a20a
Plane: Update THR_FAILSAFE param metadata
2020-09-04 07:08:03 +10:00
Samuel Tabor
93bcfc4c3e
Plane: Assign flap channel in set_control_channels() to avoid expensive call in set_servos_flaps().
2020-09-03 07:55:51 +10:00
Samuel Tabor
590ebb180c
Plane: Update airbrake channel assignment in set_control_channels() to avoid expensive call in airbrake_update()
2020-09-02 10:10:09 -07:00
Samuel Tabor
f1290a2e17
Plane: Add use of airbrakes, used when throttle is negative OR via RC channel option.
2020-09-02 10:10:09 -07:00
Iampete1
abee62abc4
Plane: use throttle in for transition max comparison
2020-08-30 18:19:40 +10:00
Peter Barker
75aa8b7e6e
Plane: log speed scaler into AETR
2020-08-29 18:52:46 +10:00