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