Commit Graph

747 Commits

Author SHA1 Message Date
Iampete1 ce0babc8f1 Plane: QuadPlane: Clear pilot corrections on mode change to avoid getting stuck in QLand 2024-11-11 07:08:17 +11:00
muramura 909b48b770 Plane: Adjust the grouping of functions to match the style 2024-11-05 09:03:32 +09:00
George Zogopoulos e9cdc46f55 Plane: Refactored quadplane's SLT_Transition::active_frwd() 2024-10-16 19:02:38 +11:00
George Zogopoulos 4352129c4d Plane: Fix SLT_Transition::active_frwd() check 2024-10-09 19:25:50 +11:00
Leonard Hall ae01a8f26d Plane: updates for offset handling
Co-authored-by: Randy Mackay <rmackay9@yahoo.com>
2024-10-04 09:25:56 +09:00
George Zogopoulos 6ce6ef8fff Plane: Takeoff improvements
- TAKEOFF and AUTO flight modes now should have identical takeoff
- Prevent behaviour switching past climb altitude in TAKEOFF mode.
- Refactor set_pitch_min/max methods.
  Max was already there, now renamed.
  Min is newly introduced.
  behaviour.
- Remove enforcement of min takeoff throttle logic from servos.cpp.
  It is now handled only by takeoff.cpp.
- Take TKOFF_LVL_ALT into consideration in AUTO as well.
- Fixed pitch setpoint when TKOFF_ROTATE_SPD>0.
- Roll navigation in mode TAKEOFF during climb should now work again.
- Now the TAKEOFF loiter waypoint is set by the bearing of the
aircraft while on TKOFF_LVL_ALT, as in the last stable release, instead
of TKOFF_ALT.
- Using TRIM_THROTTLE in takeoffs, when TKOFF_THR_MIN==0
2024-10-02 17:09:07 +10:00
Andy Piper 79bae8fd1b Plane: reset sysid and other temporary inputs after rate cycle 2024-09-26 19:25:33 +10:00
Andy Piper 2e194383d2 Plane: log ANG attitude message 2024-09-17 10:12:35 +10:00
Andrew Tridgell 83cac93e85 Plane: allow for any orientation of rangefinder for landing
this is principally for tailsitters where rangefinders would be
orientation with RNGFND1_ORIENT=12 (PITCH_180), but also allows for
custom orientations which will be useful if the rangefinder is tilted
forward
2024-09-14 08:39:51 +10:00
Andrew Tridgell f3b4f8fdc4 Plane: added Q_APPROACH_DIST
this sets a minimum distance to use the fixed wing approach logic. It
is an alternative to just disabling the approach with Q_OPTIONS which
some users do to avoid some short distance problems. This allows the
approach to still be used for longer distances in QRTL but have it
disabled for shorter distances
2024-09-12 20:48:48 +10:00
Andy Piper 8596466d5a Plane: Write_Rate() moved to AC_AttitudeControl 2024-09-10 16:33:04 +01:00
George Zogopoulos 6fee0eccad Plane: Removed all instances of in_back_transition
It is not currently used anywhere.
2024-08-28 18:18:55 +10:00
George Zogopoulos 3b247a346a Plane: TKOFF_THR_MIN is applied to SLT transitions
Also split in_transition() to forward and backward.
2024-08-28 18:18:55 +10:00
Ido Buchman e037b0b985 ArduPlane: add support for deca frame in QuadPlane::setup
The deca frame is properly supported for Copter and as the quadplane vtol setup calls upon the copter frames, it should also be supported for arduplane vtol for anyone who wants to work 10 vertical motors.
2024-08-21 17:34:19 +01:00
magate d5bd30bce0 Plane: do not set desired vel/accel on takeoff
This effectively bypasses the input shaping.

Currently this creates a step change in the position controller.
2024-08-13 09:21:27 +10:00
Peter Barker 2632e5b8a6 Plane: use enum class for VTOL approach stage
also namespace it with the state variable which uses this type
2024-08-07 17:52:25 +10:00
Peter Barker 2fd10d5ff2 Plane: remove ancient parameter conversion code
upgrading from 3.7 to 4.6 will not work as well as it otherwise might after this...
2024-08-06 09:55:27 +10:00
Andy Piper 46d6d0bf03 Plane: disable fences for landing by suppressing in the fence check rather than using a state machine 2024-07-24 08:24:06 +10:00
Iampete1 39e75c5b67 Plane: Quadplane: update Q_OPTION bit 22 description 2024-07-02 10:23:51 +10:00
Peter Barker c14c2d67d4 ArduPlane: make AP_RANGEFINDER_ENABLED remove more code 2024-07-02 09:17:26 +10:00
Simon Hancock 7d2000f3d5 ArduPlane: Add help for QPOS log message 2024-06-19 17:08:17 +10:00
Andrew Tridgell 2123458112 ArduPlane: use NEW_NOTHROW for new(std::nothrow) 2024-06-04 09:20:21 +10:00
Henry Wurzburg b91544bf05 Plane:correct Q_ASSIST metadata 2024-05-21 10:07:03 +10:00
Bob Long 34704d3cb0 Quadplane: fix TRIM_PITCH description 2024-05-14 09:12:31 +10:00
Bob Long 5824a12b2e Plane: remove altitude_error_cm variable
This variable updated unpredictably, and it was easy to introduce bugs.
It was not used in many places and is clearer to calculate the error
directly when needed.
2024-05-07 10:52:43 +10:00
Iampete1 a1a5184f0e Plane: Add tiltrotor specific log message 2024-05-07 10:37:37 +10:00
Iampete1 2ee5cdd792 Plane: Quadplane: move Q Assist check into new VTOL assist files. 2024-04-23 09:11:34 +10:00
Iampete1 fbcf37f6ca Plane: QuadPlane: log assistance bitmask in QTUN 2024-04-23 09:11:34 +10:00
Iampete1 3e2a3bfe43 Plane: Quadplane: rework assist to check all types at once, alt and angle get clear delay 2024-04-23 09:11:34 +10:00
Iampete1 20015c60a7 Plane: Quadplane: move disable of assistance in flare to `should_assist` function 2024-04-23 09:11:34 +10:00
Iampete1 8196c899e8 Plane: Quadplane: add assistance reset method 2024-04-23 09:11:34 +10:00
Iampete1 39c86a46e0 Plane: QuadPlane: move assistane into its own class 2024-04-23 09:11:34 +10:00
Andrew Tridgell 5e3f26744a Plane: drop min Q_TRANSITION_MS to 500ms
Rolf makes a good argument for why some quadplanes need less than 2s
2024-04-11 07:16:15 +10:00
Andrew Tridgell 4d2c7f3d64 Plane: don't special case tilt rotors for motors shutdown
this allows for Q_M_SPOOL_TIME to work correctly for back transition
2024-03-06 08:01:52 +11:00
Paul Riseborough c8b5de34b5 Plane: Update description for Q_BCK_PIT_LIM 2024-02-23 15:26:47 +11:00
Paul Riseborough 95fb20dcd5 Plane: Prevent overloading quadplane wing during VTOL braking
Plane: Fix description for TECS_BCK_PIT_LIM

Plane: Add diagnostics logging for VTOL upper pitch limit calc

Plane: Rework "Prevent overloading quadplane wing during VTOL braking"

Implement an independent speed scaler calculation. During VTOL modes the plane surface speed scaler does not follow a 1/IAS function at low airspeed.
2024-02-23 15:26:47 +11:00
Paul Riseborough 378c2fd6c9 Plane: Fix tilt rotor surging during high speed QLOITER flight 2024-02-23 15:26:47 +11:00
Iampete1 c84e5b337e Plane: move forward throttle output in VTOL modes to QuadPlane update 2024-01-30 11:06:09 +11:00
Andrew Tridgell a4302e5fb8 Plane: tidy 2 comments 2024-01-23 15:00:30 +11:00
Andrew Tridgell 108a0b77bd Plane: Q_ACCEL_Z -> Q_PILOT_ACCEL_Z 2024-01-23 15:00:30 +11:00
Andrew Tridgell 57e88e2242 Plane: Q_VELZ_MAX -> Q_PILOT_SPD_UP and Q_VELZ_MAX_DN -> Q_PILOT_SPD_DN 2024-01-23 15:00:30 +11:00
Andrew Tridgell 2d0a236b49 Plane: Q_LAND_SPEED -> Q_LAND_FINAL_SPD 2024-01-23 15:00:30 +11:00
Andrew Tridgell 89a947cdca ArduPlane: change LIM_ROLL_CD to ROLL_LIMIT_DEG 2024-01-23 15:00:30 +11:00
Andrew Tridgell 17d6192e22 ArduPlane: convert LIM_PITCH_MIN/MAX -> PTCH_LIM_MIN/MAX_DEG 2024-01-23 15:00:30 +11:00
Andrew Tridgell 912e2f224b ArduPlane: convert ARSPD_FBW_MIN/MAX to AIRSPEED_MIN and AIRSPEED_MAX 2024-01-23 15:00:30 +11:00
Andrew Tridgell 94edcc4654 ArduPlane: change TRIM_ARSPD_CM to AIRSPEED_CRUISE 2024-01-23 15:00:30 +11:00
Tim Tuxworth 3cf0de2224 Plane: convert parameter TRIM_PITCH_CD to TRIM_PITCH_DEG 2024-01-23 15:00:30 +11:00
Peter Barker 6ee5ab41fd ArduPlane: allow compilation with HAL_LOGGING_ENABLED false 2024-01-17 18:25:55 +11:00
Iampete1 3e955d12fa Plane: Quadaplane: add helper `allow_forward_throttle_in_vtol_mode` 2024-01-16 11:07:53 +11:00
Peter Barker b3897c020e ArduPlane: make AHRS attitude member variables private 2024-01-14 12:47:47 +11:00