Commit Graph

693 Commits

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