Iampete1
c98bdd155a
Plane: Quadplane: log tailsitter speed scailing in TSIT msg
2023-12-19 11:20:42 +11:00
Lachlan Conn
d5cc1d4ad0
Plane: QAssist speed warning added
...
Also updated the severity of other QAssist messages
2023-12-13 18:08:36 +11:00
Iampete1
41f61da0d9
Plane: Quadplane: add get_throttle_input
method that behaves the same as Plane::get_throttle_input did
2023-11-29 18:15:01 +11:00
Henry Wurzburg
73f58d3624
ArduPlane: expand explanations in FWD THR docs
2023-11-07 10:57:04 +11:00
Iampete1
a6206bde3c
Plane: move to new using_airspeed_sensor
ahrs method
2023-10-31 10:39:21 +11:00
Michael du Breuil
b630efd4db
ArduPlane: Pass the 4th parameter to ICE for engine start
2023-10-24 14:11:39 -07:00
Peter Barker
aa78f53498
Plane: use origin-relative altitudes rather than home-relative
2023-10-18 19:49:06 +11:00
Henry Wurzburg
a26ee15216
Plane:force min transition timer to 2 sec
2023-10-17 14:32:24 +11:00
Mykhailo Kuznietsov
b7c040e8bc
ArduPlane: Fix some typos
...
Fixed some typos found in the code.
2023-10-12 18:30:42 +11:00
Andrew Tridgell
babdb3625a
Plane: moved assign tilt to the run() function
...
this prevents double calling and fixes qhover
2023-09-27 11:43:45 +10:00
Paul Riseborough
2f0bbf14a4
Plane: fix metadata units for Q_FWD_PIT_LIM
2023-09-27 11:43:45 +10:00
Paul Riseborough
3866f2b4b5
Plane: Rework pitch limiting in QuadPlane::assign_tilt_to_fwd_thr
...
Don't unnecessarily increase the forward pitch limit when position control forward action is saturated.
2023-09-27 11:43:45 +10:00
Paul Riseborough
acf8dbaeee
Plane: Add diagnostics logging to QuadPlane::assign_tilt_to_fwd_thr
2023-09-27 11:43:45 +10:00
Paul Riseborough
fa5aef050c
Plane: Restructure throttle scaling and pitch limiting to enable logging
2023-09-27 11:43:45 +10:00
Paul Riseborough
c2d6db13ec
Plane: explicitly type cast pitch limit
2023-09-27 11:43:45 +10:00
Paul Riseborough
90eacaeb88
Plane: fix centi-degree scaling bug
2023-09-27 11:43:45 +10:00
Paul Riseborough
da595bbf88
Plane: Add protection for failed quadplane forward thrust motor
2023-09-27 11:43:45 +10:00
Andrew Tridgell
e3ce7d966b
Plane: fixes from review
2023-09-27 11:43:45 +10:00
Andrew Tridgell
573de2fc17
Plane: implement methods for aux switch control of vfwd code
...
and use a common function for the active method
2023-09-27 11:43:45 +10:00
Paul Riseborough
4993dcb814
Plane: Remove duplicated parameter check
2023-09-27 11:43:45 +10:00
Paul Riseborough
daea00168b
Plane: Use Q_FWD_THR_USE parameter to control modes that use Q_FWD_THR_GAIN
2023-09-27 11:43:45 +10:00
Paul Riseborough
ed91d428e1
Plane: Default Q_FWD_THR_GAIN to 0 and update meta data
2023-09-27 11:43:45 +10:00
Paul Riseborough
7bbd0ed74e
Plane: prevent wind up of Q-mode velocity controller I term
2023-09-27 11:43:45 +10:00
Paul Riseborough
b3a1807349
Plane: Fix use of q_fwd_nav_pitch_lim_cd class variable
2023-09-27 11:43:45 +10:00
Paul Riseborough
16895003df
Plane: if statement cleanup in QuadPlane::assign_tilt_to_fwd_thr
2023-09-27 11:43:45 +10:00
Paul Riseborough
04e5f6b5f6
Plane: use forward tilt instead of forward throttle when close to ground
2023-09-27 11:43:45 +10:00
Paul Riseborough
8988de3c7c
Plane: Allow non positive values of Q_FWD_PIT_LIM to be used
2023-09-27 11:43:45 +10:00
Paul Riseborough
e866998b21
Plane: Rename q_fwd_tilt_lim to q_fwd_pitch_lim
2023-09-27 11:43:45 +10:00
Paul Riseborough
c15bb3f1e3
Plane: remove code that can never run
2023-09-27 11:43:45 +10:00
Paul Riseborough
98220c7315
Plane: Handle reset of q_fwd_throttle in QuadPlane::mode_enter(void)
2023-09-27 11:43:45 +10:00
Paul Riseborough
2d3431a1ac
Plane: Improve use of forward flight motors and tilting rotors in Q modes
2023-09-27 11:43:45 +10:00
Henry Wurzburg
f5beb4772d
ArduPlane: correct/expand param metadata re synth airspeed
2023-09-26 09:04:51 +10:00
Andy Piper
f25e67e3eb
Plane: add option to scale FF in VTOL modes based on ratio of angle gains
2023-09-13 18:02:44 +10:00
Andrew Tridgell
9d98244730
Plane: fixed nav_roll/nav_pitch when waiting for VTOL takeoff
...
the nav_roll_cd and nav_pitch_cd were not being set in the VTOL
takeoff code when disarmed. This led to small increments accumulating
in the stick mixing code, leading to large control surface movements
before arming
2023-09-03 09:51:24 +10:00
Michael du Breuil
a8102d6662
Plane: On vtol landings if from a mission perform crosstracking
2023-07-18 10:44:11 +10:00
Andrew Tridgell
40ce471fec
Plane: fixed transition started airspeed message
...
this message was lost in recent refactoring
2023-07-04 07:22:01 +10:00
Andrew Tridgell
086d0907dd
Plane: fixed TECS state reset in VTOL auto
...
this fixes a bug where TECS maintains its slow integrator while in a
VTOL hover mode in AUTO or GUIDED.
Among other things this affects PAYLOAD_PLACE and
DO_VTOL_TRANSITION. In those states the height can change while
hovering outside the control of TECS. When TECS regains control in a
fwd transition then can lead to a very large height loss or gain until
the TECS integrator can catch up
2023-07-03 07:03:14 +10:00
Andrew Tridgell
ccd38ddee0
Plane: improved fwd throttle during VTOL landing
...
this sets up the vwd integrator more reasonably when we are in
POSITION1 stage of VTOL landing. We need to have enough throttle to
cope with a headwind, but want it lower when we are at or above our
target closing speed so can minimise the amount of pitch up
This also makes the landing_desired_closing_velocity() consistent with
the landing speed used in approach, using average of airspeed min and
cruise speed if TECS_LAND_ARSPD is not set
The target airspeed for TECS during airbraking is now set to
ARSPD_FBW_MIN, on the basis we are trying to slow down to min speed,
and we have VTOL support which should prevent a stall.
To cope with a high headwind where ARSPD_FBW_MIN is below the headwind
we now check for too low achieved closing speed and switch to
POSITION1 which can use vfwd to get to the landing location
2023-06-27 11:40:55 +10:00
Henry Wurzburg
c6a822abe1
Plane: fix error in Qplane wait for rudder neutral
2023-04-25 10:27:21 +10:00
Iampete1
74e4466cb4
Plane: use dedicated quadplane function for stick mixing enable
2023-04-25 10:06:50 +10:00
Henry Wurzburg
1415418d6e
Plane:Takeoff on rudder arm only after return to neutral
2023-04-25 09:28:45 +10:00
Mirko Denecke
eb6c5aa7d3
ArduPlane: remove unused update_transition() definition
2023-04-25 09:10:11 +10:00
Nick Exton
674d7facde
Plane: Use Location::same_loc_as() in QuadPlane::waypoint_controller()
2023-04-04 09:40:45 +10:00
Henry Wurzburg
a86ff90b97
ArduPlane: add AUTO VTOL landing abort AUX sw
2023-03-14 10:52:23 +11:00
Andrew Tridgell
38d7bcff6b
Plane: re-init throttle wait on quadplane arm and disarm
...
this prevents yaw from rudder arming on 2nd flight
2023-02-26 07:06:09 +11:00
Andrew Tridgell
a57e6455ab
Plane: use is_armed_and_safety_off()
...
this no longer sets soft_armed false when safety is on, and instead
uses is_armed_and_safety_off() when appropriate
2023-02-21 07:44:09 +11:00
Andrew Tridgell
99f997161a
Plane: holdoff auto takeoff till rudder neutral
...
when arming with rudder we need to hold off the takeoff until the user
has released the rudder stick or we can yaw badly during the takeoff
2023-02-09 07:02:32 +11:00
Andrew Tridgell
2989e2deba
Plane: added support for NAV_PACKAGE_PLACE mission item
...
this works in conjunction with a lua script to allow for a wide
variety of package place options
2023-02-09 07:02:12 +11:00
Peter Barker
648a13d3f7
ArduPlane: add and use AP_ADVANCEDFAILSAFE_ENABLED
2023-02-08 19:00:13 +11:00
Andrew Tridgell
6623f1156c
Plane: transition pitch limit should not apply to FBWA
...
pilot should be able to override pitch, very important on motor
failure to control glide
2023-01-30 09:19:14 +11:00
Iampete1
bf9d49b72d
Plane: Quadaplane: add param for min QRTL altitude when close to home
2023-01-25 19:34:53 +11:00
Henry Wurzburg
636a18f98f
Plane: Update Q_OPTIONS metadata to new format
2023-01-03 10:29:44 +11:00
Iampete1
a99748a13d
Plane: Quadaplane: use land_at_climb_rate_cm only when landing
2022-12-30 20:25:58 +09:00
Leonard Hall
87c684b5ee
Plane: Vtol: use land_at_climb_rate_cm for vertical rate control
2022-12-30 20:25:58 +09:00
Jeremy
0db6146f60
Plane: Added Y4 config to Quadplane
2022-12-27 15:19:28 +11:00
Peter Barker
0cf56ea320
ArduPlane: make and use AP_LANDINGGEAR_ENABLED
2022-12-14 18:30:23 +11:00
Leonard Hall
16ccdeb058
Plane: Support changing update period in Motors
2022-12-13 17:10:06 +11:00
Leonard Hall
0bc5e68aed
Plane: Support changing update period
2022-12-13 17:10:06 +11:00
Andrew Tridgell
99066a27f8
Plane: ensure we init z controller when inactive
...
this prevents us getting the AC_PosControl internal error, which is
turning up as a common false positive.
2022-12-05 07:50:05 +11:00
Peter Hall
148c8d6eec
Plane: Quadplane: tiltrotor: add Q_OPTION to keep motors tilted up when disarmed in FW modes
2022-11-29 10:51:23 +11:00
Iampete1
edf89b02ea
Plane: Quadplane: 0 rate_bf_yaw_target as more or less the same as radians value in cd funcion
2022-11-25 18:13:00 +11:00
Andrew Tridgell
8a0708efe8
Plane: scale VTOL angle P gains with airspeed
...
During POSITION1 back-transiton we scale the MC angle P gains with
airspeed to reduce the chance of oscillations. At higher airspeeds the
fixed wing controller dominates so we should use the fixed wing angle
P gain.
2022-10-18 07:38:39 +11:00
Iampete1
a774f314a2
Plane: Quadplane: SLT: enforce TECS pitch limits to beat race
2022-10-11 11:18:41 +11:00
mattbooker
821ef1d4d9
Plane: Fixed divide by zero error when transitioning to guided
2022-10-07 08:22:48 +11:00
Andrew Tridgell
22cd568a4c
Plane: removed use of "blended" earth frame accel
2022-08-21 18:51:59 +10:00
Mirko Denecke
ba13f4d116
ArduPlane: remove unused limit_length calculation in overshoot
2022-08-16 12:05:00 +10:00
Michael du Breuil
f183b21fc5
Plane: Support vtol landing options on NAV_VTOL_LAND
...
This allows the same mission to contain both circular and straight
landing items, and doesn't require on the fly tweaking
2022-08-15 17:05:00 -07:00
Iampete1
ee778dbd3a
Plane: Quadplane: add option_is_set helper for Q_OPTIONS
2022-08-09 13:21:00 +10:00
Iampete1
821053e580
Plane: Quadplane: allow servo auto trim for motors only tailsitter assist
2022-08-09 10:56:41 +10:00
Andrew Tridgell
b133e98102
Plane: improve target airspeed in landing approach
...
if the user hasn't set TECS_LAND_ARSPD then we can use an airspeed
between ARSPD_FBW_MIN and TRIM_ARSPD_CM when on approach
this also fixes landing_desired_closing_velocity() to never go above
the landing target speed, so we don't try to speed up if we are
starting the landing sequence too early
2022-08-03 12:26:57 +10:00
Andrew Tridgell
f9f0f60815
Plane: base yaw in overshoot on target speed not scaled speed
...
this prevents an oscillating due to the speed changing as we yaw,
resulting in a different yaw target
2022-08-02 07:49:34 +10:00
Andrew Tridgell
5bdd43457c
Plane: in overshoot allow up to the Q WP speed
...
this prevents us using too much battery when we are a long way from
the landing point
2022-08-02 07:49:34 +10:00
Andrew Tridgell
fa371b92a8
Plane: limit target accel in POSITION1
...
don't ask for more than 2* transition limit, and reset when we enter
overshoot case
2022-08-02 07:49:34 +10:00
Andrew Tridgell
afd21298d5
Plane: adjust target vector for wind in overshoot
...
at low speeds we want to keep the nose pointed into the wind on
landings
2022-08-02 07:49:34 +10:00
Andrew Tridgell
a1e7072cb1
Plane: cope with overshoot in POSITION1 VTOL land state
...
when we overshoot run a simple position controller that tries to point
the nose at the landing point and aims for the position2 speed
threshold
2022-08-02 07:49:34 +10:00
Iampete1
a592f76282
ArduPlane: change AC_FENCE to AP_FENCE_ENABLED
2022-07-27 19:04:56 +10:00
Peter Barker
b0bee613d4
ArduPlane: add and use AP_ICENGINE_ENABLE
2022-07-22 08:48:16 +10:00
Iampete1
712611c50e
Plane: Quadplane: add yaw command model
2022-07-13 18:26:36 +10:00
Henry Wurzburg
6bb567465a
Plane: fixed misspellings of 'transition'
2022-07-01 11:54:16 -07:00
Mirko Denecke
463aed4b8f
ArduPlane: fix Q_RTL_MODE parameter doc
2022-06-30 10:50:09 +10:00
Iampete1
0cd1f605f6
Plane: Quadplane: always reset to QPOS_NONE on mode entry
2022-06-23 08:37:00 +10:00
Iampete1
f2a162b963
Plane: rotate Qassist desired rates correctly
2022-06-21 10:01:30 +10:00
Iampete1
d251c51ca1
Plane: Quadplane: QRTL climb to QRTL alt first if in Q mode
2022-06-21 09:11:08 +10:00
Andrew Tridgell
42f553626e
Plane: adjust down default quadplane gains
...
make it better for a typical quadplane, the defaults were more
suitable on smaller aircraft
2022-06-16 21:26:49 +10:00
Iampete1
34609d327d
Plane: Quadplane: force convertions of Q_M_PMW_* params if invalid and add arming check
2022-06-08 17:08:23 +10:00
Andrew Tridgell
6423a2dfb9
Plane: use pos_control for weathervane attitude
...
this makes no difference as wp_nav just passes through, but right API
to call
2022-06-03 18:19:53 +10:00
Andrew Tridgell
ae6b877fd3
Plane: added Q_NAVALT_MIN
...
this is equivalent to copters WP_NAVALT_MIN parameter for takeoff. Not
implemented for land yet
this is useful for vehicles with significant GPS velocity noise on
takeoff, preventing dragging the landing gear
2022-06-03 18:19:53 +10:00
Andrew Tridgell
fa26b69298
Plane: fixed false positive in landing detector
...
this fixes a case where we can get false positive on the landing
detector for quadplanes.
The issue happens if we cross the LAND_DESCEND to LAND_FINAL threshold
while pilot repositioning is active, with stale information in
landing_detect.lower_limit_start_ms as we don't run should_relax() in
LAND_DESCEND
2022-05-23 13:05:17 +10:00
Andrew Tridgell
56db91d0c3
Plane: 32 servo conversion
2022-05-22 12:07:37 +10:00
Andrew Tridgell
86c2404654
Plane: increased safety of guided -> auto quadplane takeoff
...
when we arm in guided mode then enter a special guided_wait_takeoff
state. We keep motors suppressed until one of the following happens
1) disarm
2) guided takeoff command
3) change to AUTO with a takeoff waypoint as first nav waypoint
4) change to another mode
while in this state we don't go to throttle unlimited, and will refuse
a change to AUTO mode if the first waypoint is not a takeoff. If we
try to switch to RTL then we will instead use QLAND
This state is needed to cope with the takeoff sequence used by QGC on
common controllers such as the MX16, which do this on a "takeoff"
swipe:
- changes mode to GUIDED
- arms
- changes mode to AUTO
2022-05-18 06:43:16 +10:00
Andrew Tridgell
a22e181acb
Plane: account for sprung throttle in VTOL throttle suppression
...
when RC_OPTIONS has been changed to not check throttle for arming then
treat this like a sprung throttle for quadplane throttle suppression
in auto-throttle modes, and only unsuppress when throttle goes above
trim+dz
2022-05-15 21:17:50 +10:00
Andrew Tridgell
86d2ccf0e7
Plane: update gyro fft throttle
...
allows for updating or learned FFT freq
2022-05-10 08:08:56 +10:00
Henry Wurzburg
0d01ac389c
Plane: add Q_OPTION for RTL always on RC failsafe for ship landing
2022-04-19 19:58:46 +10:00
Andrew Tridgell
8e37c93e7d
Plane: fixed rudder control when ARMING_RUDDER != 2
...
when rudder disarm is disabled we should allow full yaw control
regardless of throttle level. We should also only disable left yaw
when throttle is at zero, as right yaw does not indicate pilot may be
trying to disarm
2022-04-03 09:12:03 +10:00
Peter Barker
2c42c056d8
Plane: correct EnableLandResponsition->EnableLandReposition
2022-03-31 20:30:55 +11:00
Andrew Tridgell
48881eeb55
Plane: fixed yaw on the ground when rudder disarming in AUTO
...
when a quadplane touches down in an auto throttle mode the pilot may
use rudder to disarm. The check for rudder disarm was only active in
modes without auto-throttle. This expands it to all modes if the
throttle has hit the lower limit
2022-03-24 07:44:40 +11:00
Andrew Tridgell
d82a306cc2
Plane: when shutting down motors force outputs to minimum
...
this fixes issue #20354 where a long spool time can lead to motors
running without control for an extended period of time.
2022-03-23 18:20:42 +11:00
Peter Barker
1f5165349e
Plane: correct compilation when airspeed disabled
2022-03-20 21:47:05 +11:00
Henry Wurzburg
14700063d2
ArduPlane: convert floating point divides into multiplys
2022-03-18 15:26:44 +11:00
Andrew Tridgell
6ebefbdb16
Plane: added airspeed based pitch limit check
...
prevent using too much pitch when at low airspeed, which can lead to
severe instability in SLT quadplanes
2022-03-18 13:36:16 +11:00