Commit Graph

4921 Commits

Author SHA1 Message Date
Iampete1 bf9d49b72d Plane: Quadaplane: add param for min QRTL altitude when close to home 2023-01-25 19:34:53 +11:00
Iampete1 4a2a792624 Plane: QRTL: use cone for QRTL climb close to home 2023-01-25 19:34:53 +11:00
Iampete1 20934491e5 Plane: Quadplane: limit manual throttle tilt angle to Q_TILT_MAX 2023-01-24 10:28:36 +11:00
Iampete1 02ca9c855a Plane: tailsitter: update I reset and limit handling 2023-01-24 10:27:02 +11:00
Iampete1 342d6f21be ArduPlane: use check_enabled helper 2023-01-23 11:00:13 +09:00
Andrew Tridgell 43b4be6ffb Plane: release notes for 4.3.3 2023-01-20 12:17:19 +11:00
Andrew Tridgell 9b2c7a90e7 Plane: fixed loiter.direction for VTOL approach
ensure the direction is setup correctly for both CW and CCW
2023-01-15 21:32:27 +11:00
Andrew Tridgell 77e63da4b3 Plane: added TKOFF_THR_MAX_T
time for max throttle on takeoff if no airspeed sensor
2023-01-15 12:17:27 +11:00
Iampete1 4e00a460fb ArduPlane: use shared param info defines 2023-01-11 18:41:34 +11:00
Andrew Tridgell 5fba595001 Plane: update release notes for 4.3.3beta1 2023-01-10 15:14:26 +11:00
Peter Barker bef10c21bf ArduPlane: make check_var_info void
Given all the callers die anyway, make it void
2023-01-10 10:48:15 +11:00
Tom Pittenger 9440e3c544 Plane: bugfix - RTL_AUTOLAND no longer overrides loiter direction 2023-01-10 08:58:15 +11:00
Peter Barker 5fd555a07a ArduPlane: implement parameter CopyFieldsFrom and use it 2023-01-03 11:08:43 +11:00
Henry Wurzburg 636a18f98f Plane: Update Q_OPTIONS metadata to new format 2023-01-03 10:29:44 +11:00
Iampete1 3a4e07a73c Plane: Events: consolodate failsafe evnt to single print 2023-01-03 10:26:46 +11:00
Peter Barker 9edac79db8 ArduPlane: use relay singleton in Parachute 2023-01-03 10:19:54 +11:00
olliw42 a89d5e1c83 Plane: QArco name4 longer than 4 2023-01-01 13:44:10 -08: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
Henry Wurzburg 1b39f00517 ArduPlane:test new flight options formats 2022-12-29 16:14:54 +11:00
Peter Barker f8b8f652db Plane: break FLIGHT_OPTIONS metadata onto separate lines 2022-12-28 13:21:18 +11:00
Jeremy 0db6146f60 Plane: Added Y4 config to Quadplane 2022-12-27 15:19:28 +11:00
Iampete1 da0927b076 Plane: Quadaplane: remove RTL navigate incorrect comment and unnedded check 2022-12-27 11:26:16 +11:00
Iampete1 4a21af22cb Plane: move mode update_target_altitude to correct files 2022-12-27 10:30:14 +11:00
Andrew Tridgell 97e1c14114 Revert "Plane: default takeoff pitch to 15 deg for PPDS"
This reverts commit 210dac7356.

this was committed by mistake
2022-12-24 13:26:31 +11:00
Andrew Tridgell 8686589cc0 Plane: release notes for 4.3.2 2022-12-23 10:18:29 +11:00
Iampete1 f28d7a3574 Plane: move adjust_altitude_target functianlity to per mode functions 2022-12-20 10:37:06 +11:00
Iampete1 ab43dadb57 Plane: altitude: add `plane.` prefix to Plane::adjust_altitude_target to minimise diff 2022-12-20 10:37:06 +11:00
Iampete1 e5e96eb4d8 Plane: tiltrotor: add throttle scaleing for vectored yaw 2022-12-20 09:48:56 +11:00
Peter Barker 5483398c7d Plane: correct compilation when QAUTOTUNE compiled out 2022-12-18 09:19:12 +11:00
Peter Barker 0a5d76d81d ArduPlane: code-generate chan-fetching methods
A recent PR had to change every single one of these methods, which was kind of unfortunate.

So generate the methods using a #define so the duplication happens at preprocessor-time.
2022-12-15 08:31:54 +11:00
Iampete1 da503a5e44 Plane: GCS_Mavlink: use base class DO_SET_HOME 2022-12-14 19:25:44 +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
Henry Wurzburg 06730ab1bc ArduPlane: add warning for large offset cal 2022-12-13 17:08:42 +11:00
Peter Barker 92a658c298 Plane: call adjust_altitude_target after setting waypoint
if we're too close to the next waypoint then we can end up using stale altitude target data when deciding whether a waypoint is complete or not.
2022-12-13 11:41:23 +11:00
Iampete1 b957ef1289 Plane: QRTL if RTL is expecting to VTOL land and close home with VTOL motors active 2022-12-13 10:32:32 +11:00
Andrew Tridgell 8dff38a4a1 Plane: updated release notes for 4.3.2beta2 2022-12-12 08:02:06 +11:00
Iampete1 152eb47020 Plane: Quadaplane: add aux function for QStabilize mode 2022-12-06 11:22:35 +11:00
Andrew Tridgell 289f76ac9c Plane: added FAST_TASK() for key scheduler tasks
this will be needed with #22298 as that now relies on integrating
position based on loop times
2022-12-06 11:17:04 +11:00
Andrew Tridgell 6db842e967 Plane: ensure smoothed airspeed is > 0
prevent possible divide by zero
2022-12-06 09:02:44 +11:00
Andrew Tridgell 49d0a4906a Plane: added turn corrdination to autotune yaw rate tuning
this makes it much easier to do a yaw rate autotune, and also means
you don't need to use the rudder stick at all, as the yaw controller
is already exercised nicely with roll movements, so overall the tune
is faster and more accurate as less cross-axis coupling
2022-12-06 09:02:44 +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
Iampete1 d66485c60a Plane: Quadplane: use uint16_t for output_motor_mask 2022-11-29 10:53:59 +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
Wiktor Maslowski 72391d3649 ArduPlane: fix long booting 2022-11-25 11:09:43 +09:00
Peter Barker 447392c7f4 Plane: factor out handle_manual_control_axes 2022-11-23 19:33:46 +11:00
Henry Wurzburg b9863d8514 Plane: enable QUAUTOTUNE build option 2022-11-22 10:58:03 +11:00
Andrew Tridgell bff68b112c Plane: update release notes for 4.3.2-beta1 2022-11-21 19:37:33 +11:00
Andrew Tridgell 21c9737ffa Plane: increase NAV_SCRIPT timeout to 1s
this is needed for processing of very complex schedules
2022-11-14 20:35:31 +11:00
Andrew Tridgell 15a2e0c1c8 Plane: only apply THR_MIN if ICE has allow_throttle_while_disarmed
this fixes the disarmed throttle to be zero on normal aircraft
2022-11-14 11:14:09 +11:00
Peter Barker de4dda2d17 ArduPlane: change namespace of MultiCopter and FixedWing params
this stops the libraries knowing anything about AP_Vehicle
2022-11-09 19:04:37 +11:00
Henry Wurzburg a84f6b6dee Plane: added AUTOTUNE_AXES function to normal tune
Co-authored-by: Peter Hall
2022-11-08 10:54:36 +11:00
Andrew Tridgell a94f75fe29 Plane: fixed changing modes causing aerobatics abort 2022-11-07 21:22:43 +11:00
Andrew Tridgell 41fbbd92bc Plane: zero error on release of sticks
this locks the attitude at exactly the stick release position on each
axis

thanks to Adrian Nagy for feedback
2022-11-02 07:55:37 +11:00
Andrew Tridgell 499fe79221 Plane: implement quaternion based ACRO mode
when ACRO_LOCKING=2 this implements a quaternion based ACRO
controller, which allows for accurate rolls and knife edge
2022-11-01 15:00:26 +11:00
Andrew Tridgell 500ac9b99c Plane: cleanup abort of NAV_SCRIPT
use the same enable flag for tricks and auto NAV_SCRIPT_TIME and
ensure we disable if the script stops controlling
2022-10-29 21:22:29 +11:00
Andrew Tridgell 06edc9a139 Plane: constrain throttle in NAV_SCRIPT 2022-10-29 21:22:29 +11:00
Andrew Tridgell 210dac7356 Plane: default takeoff pitch to 15 deg for PPDS 2022-10-29 21:22:29 +11:00
Andrew Tridgell ff5b4f1b13 Plane: unlock cruise/loiter heading while doing a scripted trick
and reset height
2022-10-29 21:22:29 +11:00
Henry Wurzburg 59b5a6e604 Plane: clarify ALT_HLD_FBWCM description 2022-10-26 21:21:25 +11:00
Peter Barker fdd5c048a4 ArduPlane: rename parameter name BRD_SAFETYENABLE to BRD_SAFETY_DEFLT 2022-10-26 19:53:03 +11:00
Andrew Tridgell 0c14a28aa3 Plane: check for EFI enable in messages 2022-10-25 11:44:45 +11:00
Peter Barker 3400d5e4a5 ArduPlane: use fence singleton in afs check 2022-10-25 11:31:14 +11:00
Andrew Tridgell d207e28de4 Plane: release notes for 4.3.1 2022-10-24 09:24:07 +11:00
Andrew Tridgell 6a005c893e Plane: cover more cases in fence breach mode change
we want to allow all landing sequence mode changes
2022-10-24 09:16:38 +11:00
Andrew Tridgell 71fdf37055 Plane: allow mode switch on fence breach for RTL_AUTOLAND
when we are in a fence breach we by default disallow mode changes, but
we need to allow for the switch to AUTO if the reason is we are
entering a landing sequence, which is part of the RTL process which is
the fence action
2022-10-23 20:37:40 +11:00
Andrew Tridgell 90459ed6f4 Plane: two more arguments to NAV_SCRIPT_TIME 2022-10-23 18:11:15 +11:00
Andrew Tridgell bffc09eaf5 Plane: fixed yaw rate tuning in AUTOTUNE mode
don't reset yaw rate controller continuously while we are trying to
use it
2022-10-23 12:18:20 +11:00
Andrew Tridgell 2b69124229 Plane: use Float16_t 2022-10-23 12:14:14 +11:00
Henry Wurzburg 1eb8b6d499 Plane:add info to LEVEL_ROLL_LIMIT description 2022-10-20 07:59:52 +11:00
Henry Wurzburg 58f8c34211 ArduPlane: update SRX descriptions 2022-10-19 23:26:45 +11:00
Peter Barker b741b9e76e ArduPlane: move setting of MAV_SYS_STATUS_SENSOR_OPTICAL_FLOW sensors flags up 2022-10-19 21:00:48 +11:00
khanasif786 1fe6d77eeb Plane: Max altitude for FBWB using Fence altitude 2022-10-19 18:28:52 +11:00
Andrew Tridgell 1421fccdac Plane: send HYGROMETER_SENSOR data if available 2022-10-19 13:17:30 +11:00
Andrew Tridgell 5ee251e39b Plane: release notes for 4.3.1beta1 2022-10-19 10:26:07 +11:00
Peter Barker 93c1b53a67 ArduPlane: stop sending BATTERY2 by default 2022-10-18 11:12:49 +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
Andrew Tridgell 1c043bde9a Plane: log TECS target alt
log the target alt we pass into TECS to help debug a CRUISE height
issue
2022-10-18 06:49:46 +11:00
Tom Pittenger 46bc30a40c Plane: add guided radius to mavlink DO_REPOSITION 2022-10-11 09:35:28 -07:00
Iampete1 a774f314a2 Plane: Quadplane: SLT: enforce TECS pitch limits to beat race 2022-10-11 11:18:41 +11:00
Andrew Tridgell be8bebc090 Plane: 4.3.0 final release notes 2022-10-09 12:25:14 +11:00
Andrew Tridgell 91e6935e0b Plane: release notes for 4.3.0beta3 2022-10-07 10:47:24 +11:00
mattbooker 821ef1d4d9 Plane: Fixed divide by zero error when transitioning to guided 2022-10-07 08:22:48 +11:00
Andrew Tridgell a4762009f9 Plane: added release notes for 4.3.0beta2 2022-10-04 18:50:40 +11:00
Henry Wurzburg 164711a5c3 Plane: correct range for kff_thr_2_pitch 2022-10-04 12:27:15 +11:00
jackhong12 4a4f361a17 all: use CLASS_NO_COPY() macro 2022-10-04 11:23:04 +11:00
Peter Barker 9e0894c93a ArduPlane: add AP_GRIPPER_ENABLED 2022-10-04 10:58:34 +11:00
Michael du Breuil b7a8852747 Plane: Allow reseting target airspeed to the parameter value 2022-10-04 10:04:13 +11:00
Peter Barker 3a61c97221 ArduPlane: do not send MSG_RPM if RPM not enabled 2022-09-28 20:10:21 +10:00
Randy Mackay bd02186c19 Plane: version to 4.4.0-dev 2022-09-27 10:46:12 +10:00
yaapu e958c313a1 ArduPlane: fixed roll and pitch for OSD VTOL view 2022-09-27 10:04:10 +10:00
MatthewHampsey 1dc18ec85a Plane: reset yaw rate PID for scripting 2022-09-22 05:55:15 +10:00
Peter Barker dabf78c61f ArduPlane: add and use AP_CAMERA_ENABLED 2022-09-21 11:58:38 +10:00
Iampete1 fef42ecd8c Plane: log: only log yaw and steer PIDs when active 2022-09-20 11:21:54 +10:00
Iampete1 e585757338 Plane: Quadplane: remove motor PWM params check 2022-09-19 20:57:51 -04:00
Peter Barker e596f7ce83 Plane: add and use AP_RPM_ENABLED 2022-09-20 09:28:27 +10:00
Mirko Denecke 7add656588 ArduPlane: add 0 disable to FLTMODE_CH parameter doc 2022-09-20 09:24:42 +10:00
Peter Barker 81c138e0a4 Plane: remove logging of CMDI
This is a duplicate of the data logged into "MAVC"
2022-09-14 17:44:50 +10:00
Andrew Tridgell a217942e96 Plane: release notes for Plane 4.3.0beta1 2022-09-13 15:20:49 +10:00
Michael du Breuil dba90ec227 Plane: Don't send HWSTATUS by default 2022-09-13 14:27:06 +10:00
Iampete1 84922cba9a Plane: Quadplane: use new motors pre arm 2022-09-07 17:54:16 +10:00
Iampete1 6358a3c962 Plane: add min airspeed arming check and constrain for speed scailing 2022-09-06 09:01:26 +10:00
Iampete1 5a53e22886 Plane: correct extened range airspeed scailing limits 2022-09-04 10:54:41 +10:00
Andrew Tridgell 22cd568a4c Plane: removed use of "blended" earth frame accel 2022-08-21 18:51:59 +10:00
Andrew Tridgell 953b754074 Plane: release notes for 4.2.3 2022-08-21 14:13:11 +10:00
Andrew Tridgell 4894cc1742 Plane: prepare for 4.2.3beta3 2022-08-19 18:44:08 +10:00
Peter Barker 0d19d7646f ArduPlane: rename OpticalFlow class to AP_OpticalFlow
Brings us in-line with other classes in ArduPilot.

Removes ambiguity with AP_HAL::OpticalFlow which can cause compilation errors as we start to make code more portable across targets
2022-08-18 14:24:01 +10:00
Iampete1 2b0492e6aa Plane: disalow mode change during fence recovery if option is set 2022-08-17 17:21:30 +10:00
Iampete1 a8a1e619df Plane: only trigger fence action for new breaches 2022-08-17 17:21:30 +10:00
Iampete1 367984a6b8 Plane: set fence manual recovery on mode change 2022-08-17 17:21:30 +10:00
Mirko Denecke ba13f4d116 ArduPlane: remove unused limit_length calculation in overshoot 2022-08-16 12:05:00 +10:00
Randy Mackay c255b3b5b6 Plane: replace send-mount-status with send-gimbal-device-attitude-status 2022-08-15 20:29:25 -04:00
Peter Barker 3f4a472899 ArduPlane: move call to compass cal update up to AP_Vehicle 2022-08-16 10:06:44 +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
Andrew Tridgell 204a8cdc55 Plane: release notes for 4.2.3beta2 2022-08-10 06:09:23 +10:00
Peter Barker 127bf7aa09 ArduPlane: make terrain checks common between Copter and Plane 2022-08-09 14:31:14 +10:00
Andrew Tridgell 2e32c753b9 Plane: added arming check for terrain data 2022-08-09 14:31:14 +10:00
Iampete1 ee778dbd3a Plane: Quadplane: add option_is_set helper for Q_OPTIONS 2022-08-09 13:21:00 +10:00
Henry Wurzburg 905572eff5 ArduPlane: update logging bitmask metadata to new style 2022-08-09 11:38:16 +10:00
Iampete1 821053e580 Plane: Quadplane: allow servo auto trim for motors only tailsitter assist 2022-08-09 10:56:41 +10:00
Joshua Henderson a9da91bc8d Plane: add TECS Logbitmask to TECS constructor 2022-08-09 09:44:50 +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 54280c2ae0 Plane: update release notes for 4.2.3beta1 2022-08-02 18:07:42 +10:00
Henry Wurzburg 7bb947e4b4 Plane: change log bitmask metadata to refer to correct logs 2022-08-02 11:06:53 +10:00
Henry Wurzburg fcf29539de Plane: fix attitude/AOA logging and rates 2022-08-02 10:52:52 +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 3201ecd381 Plane: added an arming check for VTOL land too short
this is meant to catch bad mission setup, especially for UGCS, which
planes waypoints right on top of the landing point
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
Iampete1 2b8958f931 Plane: Fence moved to vehicle 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
Andrew Tridgell 25e317d6b1 Plane: check G_Dt to catch startup errors
this catches cases where constructors lead to G_Dt being incorrect
2022-07-21 14:21:17 +10:00
Iampete1 7c505ad0ff Plane: set defualt format version 2022-07-20 17:59:59 +10:00
Iampete1 040e08f4b1 Plane: tailsitter: dont check if flying its always true in vtol transtion 2022-07-20 17:40:08 +10:00
Iampete1 98887a984b Plane: FW approach: use abs value for loiter sum check 2022-07-20 17:02:07 +10:00
Iampete1 2bda3c44c6 Plane: FW approach: correct wrap on breakout direction check 2022-07-20 17:02:07 +10:00
Iampete1 2e342d7852 Plane: FW approach: allways use correct loiter direction 2022-07-20 17:02:07 +10:00
Iampete1 7a88dc9348 Plane: VTOL aproach threshold use path proprtion rarther than radius 2022-07-20 17:02:07 +10:00
Iampete1 3f410be344 Plane: log ATT on none quadplanes 2022-07-19 11:15:04 +10:00
Iampete1 dd2221338b Plane: fence: do not re-trigger if mode change for expected reason 2022-07-19 09:44:36 +10:00
Iampete1 90f2bf3ba2 Plane: remove duplicate last mode reason 2022-07-19 09:44:36 +10:00
Andrew Tridgell 28d2967883 Plane: allow for throttle control in MANUAL when disarmed
pass base throttle down to ICE subsystem to allow for throttle when
disarmed in MANUAL
2022-07-18 20:55:56 +10:00
Andrew Tridgell 5f5f70d20a Plane: fixed check for fixed wing approach QRTL start
ensure we are lined up, or we are at less than 0.5 of radius before we
switch to QRTL. This fixes the case where the stopping distance is
greater than the radius, prevening us from switching to QRTL while not
lined up with the landing point
2022-07-13 20:10:19 +10:00
Iampete1 712611c50e Plane: Quadplane: add yaw command model 2022-07-13 18:26:36 +10:00
Andrew Tridgell 3385d3ae62 Plane: support NAV_DELAY in plane
allow for delayed takeoff, and takeoff at a particular time (for swarm
takeoff)

also check for takeoff command in landing sequence arming check

this allows for takeoff->land->disarm->delay->arm->takeoff->land
missions
2022-07-12 10:34:26 +10:00
Iampete1 50024a6ec2 Plane: add AIS to ADSB stream rate 2022-07-12 09:39:54 +10:00
Andrew Tridgell 6a1e80a03a Plane: when ICE overrides throttle zero the vfwd integrator 2022-07-10 06:56:58 +10:00
Andrew Tridgell afb7b14703 Plane: don't failsafe when in RTL_AUTOLAND landing sequence
when in AUTO and already in the landing sequence then don't trigger a
failsafe
2022-07-06 17:47:48 +10:00
Andrew Tridgell 592f33bfaf Plane: fixed combination of passby and acceptance dist WP
when a user sets a passby distance we should calculate the turn point
based on the extrapolated distance, not the original waypoint

also simplify the passby logic using offset_bearing()
2022-07-04 10:26:47 +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
Randy Mackay 8f54957530 Plane: do-mount-control specifies body-frame targets
this is a non-functional change
2022-06-29 10:56:48 +09:00
Andrew Tridgell 3fbe99ea4d Plane: prepare for 4.2.2 stable 2022-06-24 11:43:06 +10:00
Andrew Tridgell 3ffef61aec Plane: fixed int8_t wrap with FWD_BAT_VOLT_MAX
this could cause crazy throttle values when the ratio pushes us over
127
2022-06-23 09:25:03 +10:00
Iampete1 0cd1f605f6 Plane: Quadplane: always reset to QPOS_NONE on mode entry 2022-06-23 08:37:00 +10:00
murata 501bd61820 Plane: Initialize a string array 2022-06-22 17:25:56 +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 e9942f9a17 Plane: prepare for 4.2.2beta1 2022-06-17 14:09:09 +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
Peter Barker cfff881013 Plane: let AHRS update orientation in its own time 2022-06-12 17:32:11 +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
Randy Mackay 402ea2b72d Plane: remove unused MSG_GIMBAL_REPORT 2022-06-07 09:27:47 +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
TunaLobster df0a75a0bb Plane: Change throttle_override to pass in current throttle value 2022-05-26 11:30:41 -07:00
TunaLobster 9e26556408 AP_ICEngine: Add redline governor and RPM filter
Adds a top end governor to protect the engine from exceeding design limits. Similar to idle governor.
Adds a LPF at 0.5 Hz for RPM.
2022-05-26 11:30:41 -07:00
Andrew Tridgell 14a3e8b20c Plane: release notes for 4.2.1 2022-05-23 17:37:31 +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
Iampete1 b017fc2196 ArduPlane: allow FBWB alt control option in LOITER
Co-authored-by: Henry Wurzburg <hwurzburg@yahoo.com>
2022-05-22 12:09:43 +10:00
Andrew Tridgell 56db91d0c3 Plane: 32 servo conversion 2022-05-22 12:07:37 +10:00
Henry Wurzburg a3336f3d4f Plane: Add P/D only tune sets for quadplanes 2022-05-21 09:10:31 +10:00
Andrew Tridgell 5664f75ced Plane: update release notes for 4.2.1beta1 2022-05-19 17:11:20 +10:00
Andrew Tridgell 53a7866ba3 Plane: cope with QGC retrying AUTO mode
QGC tries several times to enter AUTO even when it is refused. We need
to keep refusing
2022-05-19 06:11:57 +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 20f641de99 Plane: refuse arming if we are in a landing sequence
this helps when the aircraft has gone into a landing sequence due to a
failsafe before it is armed. Arming while in the landing sequence is
very unlikely to be what the user wants
2022-05-15 21:17:50 +10:00
Peter Barker d5fdc2027f ArduPlane: support *10 multipler when storing/retrieving radius in NAV_LOITER_TURNS 2022-05-11 17:40:35 +10:00
Peter Barker 6152b8618f ArduPlane: remove handling of MAVLINK_MSG_ID_SET_HOME_POSITION
We decided to remove this after 4.2 was out in favour of
MAV_CMD_DO_SET_HOME which has been available since 2015.

The gcs-maintainers list was notified in Feburary.
2022-05-10 09:46:22 +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
Andrew Tridgell 8aba79b8a0 Plane: release notes for 4.2.0 2022-05-04 10:33:50 +10:00
Peter Barker e2e3e228b3 ArduPlane: tidy includes 2022-05-03 09:14:58 +10:00
Mirko Denecke d6bca7405a ArduPlane: fix auxiliary typo 2022-05-02 10:55:08 +10:00
Andrew Tridgell 12d829e740 Plane: release notes for plane 4.2.0beta6 2022-04-28 18:19:40 +10:00
Peter Barker 91e784f28d Plane: do not use guided waypoint for loiter location
Currently this waypoint is set 10,000m away by the avoidance behaviour

Instead, immediately enter loiter mode
2022-04-21 06:59:39 +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 15084cb6f3 Plane: moved harmonic notch update code to AP_Vehicle 2022-04-19 09:39:03 +10:00
Andrew Tridgell 7aafd5cf98 Plane: param conversion for INS_NOTCH to INS_HNTC2 2022-04-19 09:39:03 +10:00
Andrew Tridgell d57abb1230 Plane: support harmonic notch on 2nd RPM sensor 2022-04-19 09:39:03 +10:00
Andrew Tridgell c1d841dd93 Plane: support two full harmonic notch filters 2022-04-19 09:39:03 +10:00
Sanket Sharma 594160daf3 Plane: Updated highest airspeed limit when armed 2022-04-18 14:54:57 +10:00
Andrew Tridgell 627f62d23b Plane: param conversion for INS_NOTCH to INS_HNTC2 2022-04-16 08:14:06 +10:00
Peter Barker fd4a00a654 ArduPlane: stop libraries including AP_Logger.h in .h files
AP_Logger.h is a nexus of includes; while this is being improved over
time, there's no reason for the library headers to include AP_Logger.h
as the logger itself is access by singleton and the structures are in
LogStructure.h

This necessitated moving The PID_Info structure out of AP_Logger's
namespace.  This cleans up a pretty nasty bit - that structure is
definitely not simply used for logging, but also used to pass pid
information around to controllers!

There are a lot of patches in here because AP_Logger.h, acting as a
nexus, was providing transitive header file inclusion in many (some
unlikely!) places.
2022-04-08 19:18:38 +10:00
Andrew Tridgell 3bdcff263d Plane: release notes for 4.2.0beta5 2022-04-07 10:07:25 +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
Mark Whitehorn 910406e82d Plane: handle AIRBRAKE RC option 2022-03-29 22:51:10 +01:00
Andrew Tridgell c32a2d542c Plane: added release notes for 4.2.0beta4 2022-03-28 20:55:43 +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 680162cef0 Plane: added a value for RTL_AUTOLAND to disable arming check
set RTL_AUTOLAND=3 to get go-around but not RTL DO_LAND_START usage
2022-03-23 20:22:58 +11:00
Andrew Tridgell 27cbe5dbbb Plane: prevent rapid RTL/AUTO switching on fence breach
don't switch back to RTL if already in a DO_LAND_START sequence
2022-03-23 20:21:59 +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 2784f8fa7f Plane: remove persistent guided_WP_loc state
So instead of updating plane.guided_WP_loc and then calling
set_guided_WP(void) to copy that state into plane.next_WP_loc we pass
the new location in the call to set_guided_WP(const Location &loc).

avoidance was the only place which was not entirely over-writing
plane.guided_WP_loc.  However, plane.next_WP_loc was updated to be the
current location when we entered guided mode.  If we update the
horizontal/vertical avoidance now it is relative to the current
location, not the guided wp location, which could be quite important.
2022-03-22 10:14:40 +11:00
Peter Barker 1f5165349e Plane: correct compilation when airspeed disabled 2022-03-20 21:47:05 +11:00
Andrew Tridgell 2c22cbc50e Plane: update release notes for 4.2.0beta3 2022-03-18 21:13:54 +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
Andrew Tridgell eabdaae1e7 Plane: use set_lean_angle_max_cd()
allows for a wider range of Q_TRANS_DECEL while landing on the desired
landing point
2022-03-18 13:36:16 +11:00
Andrew Tridgell cc6fc2b130 Plane: improvements to POSITION1 controller
this improves 4 things in the POSITION1 controller based on logs from
4.2.0beta2. The changes are designed to increase the tolerance to
an incorrect value for Q_TRANS_DECEL, reducing landing overshoot

1) we fix the initialisation of the acceleration. The
   init_xy_controller() function assumes zero accel, so we need to
   call set_accel_desired_xy_cmss() just after that init to get the
   correct accel. Thanks to Leonard for this fix

2) if we decel more than expected due to too low Q_TRANS_DECEL we
   need to reduce the target speed, rather than putting the nose down

3) lower the default Q_P_JERK_XY to a value more appropriate for most
   quadplanes (Leonard suggested a value of 2)

4) fixed the pitch envelope from Q_BACKTRANS_MS to start after the
   airbrake phase is complete
2022-03-18 13:36:16 +11:00
Andrew Tridgell 3772029450 Plane: fixed pitch envelope after AIRBRAKE
we need to setup last_fw_mode_ms and last_fw_nav_pitch_cd when we
enter POSITION1 mode so that the expanding envelope pitch limit from
Q_BACKTRANS_MS is applied correctly
2022-03-18 13:36:16 +11:00
Andrew Tridgell 8b16b5ca94 Plane: adjust throttle mix for auto landing
use mix-max during landing approach and initial descent, use min in
land final. As discussed with Leonard
2022-03-18 13:35:46 +11:00
Peter Barker d93449ac28 ArduPlane: split AP_HAL_SITL and HAL_SIM_ENABLED 2022-03-17 14:39:55 +11:00
Tim Tuxworth 21ec47f184 Plane: Display Fence Breach message in GCS
Send a "Geofence breach" message to the Ground Control Station. Without this when the fence is breached and if anything happens as a result, such as RTL, it will happen silently.
2022-03-16 18:04:19 +11:00
Andrew Tridgell a1856c5c22 Plane: added an arming check for Q_ASSIST_SPEED
Q_ASSIST should really be enabled for all non-tailsitter
quadplanes. This arming check will help users remember to configure it
2022-03-16 09:29:14 +11:00
Andrew Tridgell 82937ca778 Plane: check that RTL_AUTOLAND is set if using DO_LAND_START 2022-03-14 09:52:41 +11:00
Andrew Tridgell 0ca48fa9da Plane: added release notes for 4.2.0beta2 2022-03-10 13:44:05 +11:00
Andrew Tridgell 55c46cd868 Plane: protect against short stop_distance 2022-03-10 13:41:18 +11:00
Andrew Tridgell 5e14b9efe6 Plane: use pos control for most of LAND_FINAL
this gives more accurate landing with some velocity drift
2022-03-10 07:34:20 +11:00
Andrew Tridgell cc9b9813cb Plane: review fixes
thanks Pete!
2022-03-10 07:34:20 +11:00
Andrew Tridgell f09c715d7a Plane: wait till motors are fully up before takeoff in guided mode
this allows for guided mode takeoff in tilt-rotors. Otherwise motors
till be pointing forward and takeoff will go very badly
2022-03-10 07:34:20 +11:00
Andrew Tridgell 3659669409 Plane: cope with high angle error in airbrake state
if we are flying too far off the target vector then exit airbrake
state. This prevents flying for a long distance away from the landing
point in airbrake mode
2022-03-10 07:34:20 +11:00
Andrew Tridgell f9ecf15973 Plane: setup target accel in POSITION1 state 2022-03-10 07:34:20 +11:00
Andrew Tridgell 2864e21b31 Plane: allow for a trans decel margin
so if we are behind the velocity curve we are less likely to overshoot
landing
2022-03-10 07:34:20 +11:00
Andrew Tridgell 33bc067edf Plane: fix NAV_CONTROLLER_OUTPUT in Q modes
Q modes don't always use wp_nav, but do use pos_control

AUTO and QRTL setup the plane navigation as well, so can use the L1
data
2022-03-10 07:34:20 +11:00
Andrew Tridgell 3fe9a55269 Plane: added APIs for lua ship landing 2022-03-10 07:34:20 +11:00
Andrew Tridgell c54fb0f51b Plane: link in AP_Follow
ready for ship landing
2022-03-10 07:34:20 +11:00
Andrew Tridgell 72087335f7 Plane: removed terrain home correction 2022-03-10 07:34:20 +11:00
Iampete1 a7bc844780 Plane: never stick mix without valid RC input 2022-03-09 18:26:30 +11:00
Iampete1 c46a19bf89 ArduPlane: tailsitter: keep attitude controll throttle level upto date for smoother controller handover 2022-03-09 18:21:51 +11:00
Andrew Tridgell 8ccf84d9a3 Plane: disallow mavlink disarm while flying
this relies on is_flying(), and we will need to watch for reports of
the heuristics failing
2022-03-09 17:13:45 +11:00
RuffaloLavoisier 962d1d112b ArduPlane : Indentation correction 2022-03-08 14:24:46 -08:00
RuffaloVM d8085f71af ArduPlane : case label indentation 2022-03-08 14:24:46 -08:00
Andrew Tridgell 6d63e1f7d3 Plane: added Q_LAND_ALTCHG parameter
this is the threshold height change over 4 seconds for a landing to be
detected. It can be raised if landing detection is very slow
2022-03-09 07:50:10 +11:00
Iampete1 54e57ccff0 Plane: don't prevent stick mixing in none RC failsafe 2022-03-08 11:21:13 +11:00
Peter Barker 302c8e4b98 ArduPlane: rename within_min_dz to in_min_dz for consistency
... consistency with in_trim_dz
2022-03-08 11:17:45 +11:00
Andrew Tridgell 08d53c2d64 Plane: change master version to 4.3.0dev 2022-03-02 07:44:36 +11:00
Andrew Tridgell ad53ee7f0e Plane: added release notes for 4.2.0beta1 2022-03-02 07:43:59 +11:00
Peter Barker c0aa20b1d0 ArduPlane: include cleanups 2022-03-01 11:21:33 +11:00
Henry Wurzburg 0c32e71272 ArduPlane: clarify and simplify RC failsafe messages 2022-03-01 11:05:15 +11:00
Peter Barker 452a5df0cc ArduPlane: add RebootRequred to stream rate parameters 2022-03-01 11:01:12 +11:00
Iampete1 80f8f8b14e Plane: quadplane: double log QPOS state change 2022-03-01 10:59:07 +11:00
Iampete1 c26ffed47f Plane: motor_test: use PWM min and max from RC_Channel 2022-03-01 10:47:25 +11:00
Peter Barker b19bfba0ec Plane: use has_valid_input in place of checking throttle counter 2022-03-01 10:29:37 +11:00
Peter Barker 13fa1e30ad ArduPlane: rename and make enum RC_Channel::ControlType
Type:: is too generic; get_type should probably be get_control_type
2022-02-27 09:55:01 +11:00
Andrew Tridgell b444420329 Plane: removed controller error in transmitter tuning 2022-02-22 12:23:48 +11:00
Andrew Tridgell e3e125c307 Plane: prepare for 4.1.7 2022-02-21 12:11:28 +11:00
Iampete1 267583db55 Plane: quadplane: never reset yaw target rates when entering QPOS1 2022-02-21 09:35:06 +11:00
Iampete1 9fd14dbf94 Plane: quadplane: set IO failsafe limit for all motors 2022-02-17 12:31:16 +11:00
Iampete1 42a2e1094c Plane: set failsafe limit for throttle left and right 2022-02-17 12:31:16 +11:00
Andrew Tridgell 1bdc9b5bf8 Plane: fixed in_vtol logic so QRTL can AIRBRAKE 2022-02-16 07:43:01 +11:00
Andrew Tridgell aab6c94936 Plane: don't weathervane in AIRBRAKE state
this prevents unwanted VTOL motor throttle while trying to slow
down. In this stage the slaving of yaw rate to fixed wing roll control
is sufficient
2022-02-16 07:43:01 +11:00
Andrew Tridgell 2846f87eeb Plane: reduce height gain in auto landing for tiltrotors
avoid running the motors while tilted past the tilt max if we are in
AIRBRAKE state. This stops a large amount of forward thrust from the
tilted motors while trying to slow down, while still maintaining
attitude control
2022-02-16 07:43:01 +11:00
Andrew Tridgell 5bb7b04343 Plane: added release notes for 4.1.7beta1 2022-02-12 09:00:51 +11:00
Peter Barker 458d43fc1e ArduPlane: send deprecated message warning for MAVLINK_MSG_ID_SET_HOME_POSITION 2022-02-10 12:13:43 +11:00
Iampete1 1ca1707f9f Plane: quadpalne: keep motors interlock state upto date with E-stop 2022-02-10 07:43:40 +09:00
Peter Barker d914e4e63b Plane: convert next WP alt to global frame in POSITION_TARGET_GLOBAL_INT 2022-02-09 16:09:41 +11:00
Peter Barker 10be59da17 ArduPlane: create and use location_from_command_t 2022-02-09 09:15:11 +11:00
Peter Barker e1314cc297 Plane: remove ancient convert_mixers 2022-02-08 12:19:55 +11:00
Peter Barker 4068d57930 Plane: correct spelling of mode_lotier_qland 2022-02-08 12:19:03 +11:00
Peter Barker 7c0b1f46d6 Plane: remove logging of STRT message
SType is always 3 - and we're just about to log the entire
mission so CTOT is pointless
2022-02-08 12:18:16 +11:00
Henry Wurzburg e82ad1ec24 ArduPlane: fix error in Tricks on a Switch qualifier 2022-02-08 11:54:38 +11:00
Peter Barker bab79d0094 ArduPlane: stop passing mission in Terrain constructor
Terrain can use the mission singleton

This means Copter can have terrain while compiling mission out
2022-02-08 11:20:20 +11:00
Peter Hall 717b18a680 Plane: quadplane: add allow_weathervane transtion class method 2022-02-08 10:38:16 +11:00
Peter Hall 6a719664d3 Plane: quadplane: pass takeoff and landing state to weathervane 2022-02-08 10:38:16 +11:00
Gone4Dirt a79359dc67 Plane: use new weathervane library 2022-02-08 10:38:16 +11:00
Peter Barker dd06a93c06 Plane: remove unused TRUE/FALSE defines 2022-02-07 21:20:21 +11:00
Peter Barker 9878701095 Plane: remove unused DEBUG define 2022-02-07 21:20:21 +11:00
Peter Barker 90310f4c6e Plane: remove unused 'ALT_CONTROL' enumeration 2022-02-07 21:20:21 +11:00
Henry Wurzburg ea9d35c99d ArduPlane: extend nav_scripting to all modes 2022-02-07 21:19:28 +11:00
Hwurzburg ad30d476c8 Plane: enforce acro rate limits in aerobatics scripting 2022-02-07 12:35:31 +11:00
Hwurzburg 0efb2f2048 Plane: disable TECS use during NAV_SCRIPT_TIME 2022-02-07 12:34:15 +11:00
murata f8383df5a4 Plane: Remove meaningless semicolons 2022-02-07 08:27:34 +09:00
Bill Geyer 54bdde8845 Copter: fix parameter issue with quadplane 2022-02-01 23:06:51 -05:00
Bill Geyer 9bec232c8a Plane: modify qautotune to use of multi subclass 2022-02-01 23:06:51 -05:00
Peter Hall 9ec1faf3f9 Plane: tailsitter: rate limit second half of FW transtion 2022-01-26 19:03:32 +11:00
Peter Barker d6c653bdc5 ArduPlane: move logging of SIMSTATE, AHRS2 and POS into AP_AHRS library 2022-01-25 10:59:17 +11:00
Peter Barker 266d384ca7 ArduPlane: rename AP_AHRS::get_position to get_location 2022-01-25 10:47:22 +11:00
Iampete1 f725f7bb7e Plane: set new slew limit and inherit slew limt for flaps 2022-01-25 10:12:13 +11:00
Joshua Henderson c1abcfb7c4 Plane: move Airspeed to AP_Vehicle 2022-01-19 18:21:32 +11:00
Josh Henderson 6dc5a9fc54 Plane: GCS move airspeed sensor status flags up 2022-01-19 18:21:32 +11:00
Josh Henderson 9a3fed0263 Plane: move high_latency_air_temperature up 2022-01-19 18:21:32 +11:00
Andrew Tridgell 3273ead11b Plane: use EKF climb rate estimate in VFR_HUD.climb
EKF estimate is both more accurate and less noisy
2022-01-18 13:26:31 +11:00
Iampete1 32488a5e3a Plane: add MOTB logging at 10hz 2022-01-18 10:18:10 +11:00
Jaaaky 852546f8cf ArduPlane: fix man_expo pitch & rudder params/variables 2022-01-12 18:27:08 +11:00
Peter Barker 0cf4254290 ArduPlane: move RPM sensor logging into AP_RPM 2022-01-11 11:09:26 +11:00
Iampete1 3a5c7ea8fc Plane: quadplane: add transtion fail action param 2022-01-11 11:02:33 +11:00
Peter Hall b64ddb9ac0 Plane: tailsitter: only set limit flags if outputs are configured 2022-01-11 10:37:38 +11:00
Peter Hall 2ffebebddc Plane: tailsitter: provide min throttle limit based on disk therory outflow velocity 2022-01-11 10:37:38 +11:00
Iampete1 0fa1ddf7c2 Plane: tailsitter: always give pitch prority elevon mixing in VTOL modes 2022-01-11 10:37:38 +11:00
Iampete1 d473344177 Plane: add video stab log bit and log in ahrs_update 2022-01-05 19:56:03 +11:00
Iampete1 ca1b5b1db2 Plane: Quadplane: use get_frame_and_type_string 2022-01-05 19:51:19 +11:00
Peter Barker 89e3e27d3d ArduPlane: move INS notch filter logging into INS 2022-01-05 16:34:36 +11:00
Peter Barker 173f36c145 ArduPlane: make vehicles write notch log messages 2022-01-05 16:34:36 +11:00
Peter Hall d4eb2c6396 Plane: quadplane: QPOS_POSITION1 tailsitters use input_vel_accel method 2022-01-04 10:42:12 +11:00
Iampete1 4848ac9166 Plane: quadplane: don't use `is_active_z()`, becasue its wrong 2022-01-04 10:42:12 +11:00
Iampete1 fb1f6b57ad Plane: Quadplane: never run Z controller if motors are not throttle unlimited 2022-01-04 10:42:12 +11:00
Peter Hall c215fa0745 Plane: Quadplane: never run Z controller in tailsiter VTOL transtion 2022-01-04 10:42:12 +11:00
Peter Hall 9df753551e Plane: quadplane: tailsitter: always relax pitch after transtion 2022-01-04 10:42:12 +11:00
Peter Hall d054ca0426 Plane: quadplane: limit post VTOL transtion pitch rate on tailsitters in maunal modes 2022-01-04 10:42:12 +11:00
Peter Hall 67d7ba490f Plane: quadplane: pass time to tailsitter.in_vtol_transition where avalable 2022-01-04 10:42:12 +11:00
Iampete1 9634641323 Plane: tailsitter: rate limit pitch up in VTOL pos control flight. 2022-01-04 10:42:12 +11:00
Andrew Tridgell 2691022e12 Plane: update release notes for 4.1.6 2022-01-03 13:11:18 +11:00
Andrew Tridgell 2251293ec7 Plane: fix stabilize mode
should self-level. Broken by #19171
2022-01-03 08:09:53 +11:00
Iampete1 abe9e4425b Plane: quadplane: remvoe unused loiter initial pitch varable 2021-12-31 08:46:31 +11:00
Andrew Tridgell fb019eb0f3 Plane: add a low pass filter to speed scaler
this is needed due to the filtering done on the target rate in
AC_PID. With a low filter rate in AC_PID a step in the speed scaler
results in a step in the FF output due to the mismatch in the
instantaneous SS and the filtered target rate
2021-12-29 18:36:05 +11:00
Peter Barker e55eea961f ArduPlane: create and use AP_OPTICALFLOW_ENABLED 2021-12-29 18:12:03 +11:00
Andrew Tridgell 336b666f83 Plane: fixed stick mixing and throttle nudge in QRTL approach
thanks to Henry for noticing this
2021-12-28 16:04:12 +11:00
Peter Barker d7fae5263f ArduPlane: adjust for rename of OpticalFlow.cpp 2021-12-28 10:16:20 +11:00
Samuel Tabor a715472353 Plane: Specify starting location to set_offset_altitude_location 2021-12-27 11:27:52 +11:00
Hwurzburg 18e427d27d Plane: add Q_OPTION to force fw trans on fail instead of QLAND 2021-12-24 13:55:15 +11:00
Iampete1 2154738421 Plane: Quadplane: only advance to QPOS_POSITION2 once tilts have finished slewing 2021-12-22 18:46:14 +11:00
Iampete1 eac52fe08f Plane: quadplane: don't ouput VTOL throttle on tiltrotor with no VTOL motors and till fully forward 2021-12-22 18:46:14 +11:00
Iampete1 6116eaeb32 Plane: quadplane: enhance tiltrotor transtion to better deal with tiltrotors with all motors tilting 2021-12-22 18:46:14 +11:00
Andy Piper aefc97fafa Plane: use calculated number of notches for dynamic harmonic 2021-12-22 18:13:38 +11:00
Andrew Tridgell db0f06fb58 Plane: update release notes for 4.1.6beta1 2021-12-21 13:21:50 +11:00
Peter Barker 278899e44c ArduPlane: tidy log message id definitions
Add a comment indicating only 20 ids are available to the vehicle
2021-12-21 10:42:18 +11:00
Jaaaky 50430d9fc8 ArduPlane: Fix multi #include's 2021-12-21 10:38:46 +11:00
Iampete1 055d90d49b Plane: tailsitter: add gains to scale control surface vs motors 2021-12-21 10:14:34 +11:00
Gone4Dirt d244a0b803 Plane: Make RPM log independant of RC log mask 2021-12-16 12:48:48 +11:00
Samuel Tabor c44fed34d4 AP_Soaring: Override airspeed and flap angle. 2021-12-16 07:12:24 +11:00
Peter Barker 08a8b3f155 Plane: use @CopyValuesFrom for FLTMODEn parameters 2021-12-16 07:11:33 +11:00
Iampete1 8aa4a802f3 Plane: tiltrottor: add missing ff terms 2021-12-14 10:14:28 +09:00
Andrew Tridgell c746efff4f Plane: updated release notes for 4.1.5 2021-12-13 10:55:44 +11:00
Hwurzburg 049f5f2135 Plane: fix divide by zero in transition time 2021-12-10 19:10:51 -08:00
Andrew Tridgell 1c89b7f3a2 Plane: check for VTOL takeoff in AUTO
if the "only arm in Q modes" bit is set in Q_OPTIONS then check that
in AUTO mode we are in a VTOL takeoff WP
2021-12-07 12:51:18 +11:00
Hwurzburg 274111a5ea ArduPlane: clean up short failsafe 2021-12-07 10:09:33 +11:00
Andrew Tridgell 522056d6f7 Plane: release notes for 4.1.5beta1 2021-12-04 18:06:38 +11:00
Andrew Tridgell ca13503f41 ArduPlane: revert compass parameter changes 2021-12-04 16:51:53 +11:00
Andrew Tridgell e7c7cdd653 Plane: reset VTOL takeoff if not armed
we need to reset the takeoff target position while disarmed so we
don't use spurious position information from before we get good GPS
lock.

also remove the "Resetting previous waypoint" message as it doesn't
provide useful information and is just a distraction (it would be
printed continuously while waiting for arming with this PR)
2021-12-04 16:51:02 +11:00
Andrew Tridgell e342ce0da4 Plane: fixed reset of steering locked course
reset when we have not been steering for 1s, to ensure that an old
locked course is not used
2021-12-04 07:41:35 +11:00
Andrew Tridgell 5f52171776 Plane: added QRTL as RCn_OPTION 2021-12-02 08:29:07 +11:00
Andrew Tridgell de4a4a775a Plane: fixed use before init bug in VTOL land
found by Peter Barker with valgrind
2021-12-01 19:42:42 +11:00
Andrew Tridgell 56870ad7d6 Plane: use yaw rate controller in NAV_SCRIPT_TIME 2021-11-30 16:19:26 +11:00
Andrew Tridgell 55d8afa1dd Plane: support autotune for yaw rate control 2021-11-30 16:19:26 +11:00
Andrew Tridgell b619ee4970 Plane: added support for rate yaw control
to enable for ACRO mode, set ACRO_YAW_RATE to desired maximum rate in
degrees/second, and set YAW_RATE_ENABLE=1 to enable PID tuning of yaw
rate controller

pair programmed with Andy Palmer and Matthew Hampsey
2021-11-30 16:19:26 +11:00
Iampete1 06c9a69975 Plane: remove compass params underscore 2021-11-30 08:14:43 +09:00
Josh Henderson 52adda7c4c Plane: INAV rename for neu & cm/cms 2021-11-30 10:08:07 +11:00
Josh Henderson c6dd39773d ArduPlane: inav use _xy() 2021-11-30 10:08:07 +11:00
Andrew Tridgell 1af384ad12 Plane: updated release notes for 4.1.4 2021-11-25 09:05:29 +11:00
Andrew Tridgell 36562ed30b Plane: limited VFWD integrator to cruise throttle
in some situations (such as when landing approach is disabled) the
vfwd integrator can wind up to extreme values. This can put a huge
load on an electric quadplane as it is running both forward and vtol
motors, and the downforce from being nose down can be extreme.

It should never need to go above the cruise throttle in any reasonable
situation, so limit it to cruise to ensure we don't apply too much
forward throttle
2021-11-24 18:49:24 +11:00
kniuk 6581afcb8d deleted set_target_altitude_location from set_next_WP 2021-11-24 18:08:26 +11:00
Andrew Tridgell 77c43d9ba1 Plane: limiting POS1 landing target speed
prevent very high target speeds when the target velocity profile is
above the initial speed in POSITION1. Always allow up to 2*Q_WP_SPEED,
but don't go above the initial speed
2021-11-24 07:15:21 +11:00
Andrew Tridgell 8d59e6fa48 Plane: fixed variable name
thanks to Peter for noticing
2021-11-22 13:15:29 +11:00
Hwurzburg 5cafccd447 ArduPlane: fix flare rc switch action with flight option bit 10 active 2021-11-21 21:00:04 +11:00
Peter Hall 151ef760a4 Plane: quadplane: log postition controller PIDs 2021-11-21 09:01:58 +11:00
Andrew Tridgell 734edd8085 Plane: fixed chute release on low value of RC option
only release on flag high
fixes #18843
2021-11-18 15:19:18 +11:00
Andrew Tridgell ae81bbc5ed Plane: suppress spurious EKF yaw reset message
this makes plane match copter, emitting a yaw reset event, but not
worrying user. This message came out on each boot when EKF3 first
became active
2021-11-17 20:54:12 +11:00
Michel Pastor 685d34d615 Plane: fix bug causing wrong thr max and slew to be used during takeoff
Fix bug introduced in 3d34e061fe which causes flight_stage to be
FLIGHT_NORMAL instead of FLIGHT_TAKEOFF during takeoff stage causing
itself at least the use of THR_MAX and THR_SLEWRATE instead of
respectively TKOFF_THR_MAX and TKOFF_THR_SLEW and perhaps has other
consequences.

Could be really bad if TKOFF_THR_MAX needs to be much higher
than THR_MAX or if TKOFF_THR_SLEW needs to be much lower than
THR_SLEWRATE and cause a crash on takeoff due to low airspeed or torque
roll
2021-11-17 19:37:39 +11:00
Iampete1 9210488550 Plane: quadplane: limit pitch for all transitions into position control modes 2021-11-17 19:10:56 +11:00
Peter Barker 17395f362e ArduPlane: allow specification of Scheduler table priorities 2021-11-17 19:00:04 +11:00
Andrew Tridgell e5106b990e Plane: update release notes for 4.1.3 2021-11-16 16:08:18 +11:00
Peter Barker 70562021ac ArduPlane: move from ENABLE_SCRIPTING to AP_SCRIPTING_ENABLED 2021-11-15 20:27:40 +11:00
Peter Barker 203103bae5 ArduPlane: ensure ENABLE_SCRIPTING is always defined 2021-11-15 20:27:40 +11:00
Iampete1 b9d240460b Plane: remove SpdHgt and use TECS direct 2021-11-13 08:05:39 +11:00
Andrew Tridgell de44dceda4 Plane: enable fixed wing autotune switch 2021-11-10 18:46:34 +11:00
Iampete1 773c48b30c Plane: tailsitter: start transtion from desired pitch not actual 2021-11-09 13:44:30 +00:00
Iampete1 51caf15f94 Plane: manual stabilize: keep nav pitch and roll up to date 2021-11-09 13:44:30 +00:00
Iampete1 68f252e0df Plane: tiltrotor: allow tilt wing as flap 2021-11-09 10:46:09 +11:00
Iampete1 5ba2bd675a Plane: move quadplane arming checks to own function and add angle max and tiltrotor / tailsitter checks 2021-11-09 10:45:22 +11:00
Peter Barker 7c3de472b2 Plane: support send_extended_sys_state 2021-11-09 10:22:24 +11:00
Andrew Tridgell 893046608c Plane: update release notes for 4.1.3beta1 2021-11-09 09:27:27 +11:00
Andrew Tridgell 0c1e576544 Plane: added support for NAV_SCRIPT_TIME 2021-11-08 21:08:52 +11:00
Andrew Tridgell d3742989ef Plane: default rate max to 75 for quadplane VTOL
this reduces overshoot when VTOL tune is less than ideal
2021-11-07 06:58:53 +11:00
Andrew Tridgell debae1381c Plane: fixed a bug in POSITION1 speed thresholds
we were comparing two different speeds in the threshold for going to
Q_WP_SPEED limit. The reason the two speeds were different was the
wp_nav init happened before the defaults were setup for quadplanes

this fixes both bugs
2021-11-06 20:00:10 +11:00
Peter Barker 554e7f8d1c ArduPlane: move EFI to AP_Vehicle 2021-11-05 09:22:17 +11:00
Peter Barker 6a12d3f5d9 Plane: use enum class for StickMixing 2021-11-03 18:06:00 +11:00
Iampete1 e33954d561 Plane: tailsitter transition tidyups 2021-11-02 10:14:36 +11:00
Iampete1 af8688b300 Quadplane: add transiton class 2021-11-02 10:14:36 +11:00
Iampete1 9073d16b09 Tiltrotor: add transtion class 2021-11-02 10:14:36 +11:00
Iampete1 ce5b81869d Plane: Tailsitter: add transtion class 2021-11-02 10:14:36 +11:00
Iampete1 7af1b40fb8 Plane: system use new transtion class 2021-11-02 10:14:36 +11:00
Iampete1 99d98cc5b8 Plane: add transition class as friend 2021-11-02 10:14:36 +11:00
Iampete1 23a413946b Plane: Qacro: use new transition class 2021-11-02 10:14:36 +11:00
Iampete1 f25e5087c0 Plane: attitude: use new transition class 2021-11-02 10:14:36 +11:00
Andrew Tridgell 9c617a18f4 Plane: suppress rate D terms in ground mode
this prevents a common oscillation issue on the ground
2021-10-30 18:45:53 +11:00
Andrew Tridgell b74dca02ca Plane: avoid qpos approach when very close to destination
this prevents a fwd transition when doing something like LOITER_TIME
close to a VTOL_LAND wp. We use 1.5 times the stopping distance at
cruise airspeed for the threshold
2021-10-29 20:22:19 +11:00
Andrew Tridgell 19b5044223 Plane: fixed VTOL state error when using Q_ENABLE=2
this ensures the poscontrol state is reset if it has not been
initialised before a VTOL loiter operation

thanks to Pete Hall for finding this
2021-10-29 20:22:19 +11:00
Andrew Tridgell 51ccc1822c Plane: rename ReleaseNotes.txt to be more consistent with copter 2021-10-27 15:32:32 +11:00
Hwurzburg 8d94e58ec9 ArduPlane: add RC option to plane for emergency remote landing that forces FS actions to FBWA 2021-10-26 10:34:28 +11:00
Iampete1 bfbd0d93c1 Plane: Quadplane: continue in mode loiter to Qland on failsafe, as with Qland 2021-10-26 10:13:55 +11:00
Hwurzburg 085c5c815b Plane: Fix bug with mode return on short fs exit and add FBWB action 2021-10-26 10:12:48 +11:00
Sebastian Quilter 013de11916 ArduPlane: make rangefinder ranges m rather than cm 2021-10-21 21:28:53 +11:00
Iampete1 73e9c9bb43 Plane: quadplane: forward throttle reutrn float 2021-10-20 18:29:58 +11:00
Iampete1 2f93c1f9e4 Plane: stabilizer roll and pitch to floats 2021-10-20 18:29:58 +11:00
Iampete1 b31ce6734a Plane: get throttle input return float 2021-10-20 18:29:58 +11:00
Iampete1 2f4661c52f Plane: use float for set/get output scaled 2021-10-20 18:29:58 +11:00
Peter Barker bcad5a7ba6 ArduPlane: handle renaming of AP_InertialNav_NavEKF to AP_InertialNav 2021-10-20 18:09:36 +11:00
Peter Barker 987d67b867 ArduPlane: move SITL object up to AP_Vehicle 2021-10-19 11:34:43 +11:00
Peter Barker eef8115ffc ArduPlane: factor substring from allocation_error parameter 2021-10-18 12:49:44 +11:00
Andrew Tridgell 5684ca13fa Plane: update release notes for 4.1.2 2021-10-17 15:51:50 +11:00
Andrew Tridgell 34110e387f Plane: update release notes for 4.1.2beta2 2021-10-16 20:45:37 +11:00
Tom Pittenger c450145fd5 Plane: move ADSB mavlink handling from vehicles to common library 2021-10-14 19:55:27 -07:00
Josh Henderson 8af299f978 Plane: HIGH_Latency2 check get_temperature return and return INT8_MIN 2021-10-13 19:40:45 +11:00
Andrew Tridgell faba02a3f5 Plane: apply the takeoff throttle slew limit to quadplanes
this applies the limit when we are in a fwd transition, both in AUTO
modes and stabilized modes
2021-10-13 18:53:45 +11:00
Iampete1 e99a5c6ef4 Plane: Quadplane: reinstate THR PWM param discriptions for stable users 2021-10-11 22:19:17 -04:00
Iampete1 30c9cccf78 Plane: Quadplane remove THR_MIN_PWM and THR_MAX_PWM 2021-10-11 22:19:17 -04:00
Iampete1 d1d6342165 Plane: update_throttle_range dont set_throttle_range 2021-10-11 22:19:17 -04:00
Andrew Tridgell 493d8979d5 Plane: reset target speed on disarm
allows for multiple auto missions with DO_CHANGE_SPEED
2021-10-11 10:47:52 +11:00
Andrew Tridgell bf425a1edf Plane: update release notes for 4.1.2beta1 2021-10-10 18:08:36 +11:00
Andrew Tridgell 570ecdc2e0 Plane: don't apply fw pitch limit in VTOL control for tailsitters
tailsitters may have narrow fixed wing limits but need high limits for
landing in high wind

found this on a HWing which was essentially impossible to auto land
2021-10-10 06:35:20 +11:00
Andrew Tridgell 8550765c25 Plane: update release notes for 4.1.1
# Conflicts:
#	ArduPlane/mode_qrtl.cpp
#	ArduPlane/quadplane.cpp
P
2021-10-08 13:31:04 +11:00
Peter Barker 3a6a6b63f2 Plane: use mode name instead of number in failsafe text
We have the method, we should use it
2021-10-07 13:01:07 +11:00
Hwurzburg 4e731bf4e2 Plane: add VTOL POS1 notification to QRTL mode 2021-10-06 11:38:32 +11:00
Peter Barker 3e031e78e5 Plane: add comment about us sending airspeed error in wrong units 2021-10-05 11:20:55 +11:00
Andrew Tridgell 2be23fff2b Plane: obey Q_RTL_ALT when in POS1 and POS2 states
this fixes the alt target for when user has disabled the quadplane
approach code
2021-10-02 12:46:59 +10:00
Hwurzburg 636358b668 Plane: add param for throttle control in transition to VTOL 2021-10-01 22:04:51 +01:00
Iampete1 c178962200 Plane: tailsitter: only apply throttle scaling once in assised flight 2021-10-01 22:04:51 +01:00
bugobliterator ae4d368267 Plane: replace config_error with allocation_error 2021-09-30 08:51:26 +10:00
Peter Barker e1aa863eae Plane: stop passing current_loc into AP_Camera 2021-09-29 18:33:01 +10:00
Iampete1 958748f8cf Plane: tailsitter: reset FW yaw I allong with roll and pitch when in assist 2021-09-29 17:12:33 +10:00
Michel Pastor 7cb2619413 Plane: fix flawed logic in throttle voltage comp params check 2021-09-29 17:05:17 +10:00
Andrew Tridgell b417aad807 Plane: update release notes for 4.1.0 stable 2021-09-28 15:53:18 +10:00
Iampete1 a350ebb358 Plane: quadplane: do_vtol_land remove uneded I reset 2021-09-28 10:51:21 +10:00
Iampete1 4b62bd9180 Plane: add Loiter to QLand to Flight mode switch 2021-09-28 09:31:13 +10:00
Iampete1 682798d044 PLane: support Loiter to Qland battery failsafe action 2021-09-28 09:31:13 +10:00
Iampete1 0a1cad772c Plane: LoiterAltQLand: support handle_guided_request 2021-09-28 09:31:13 +10:00
Iampete1 a0260b05b3 Plane: handle_guided_request per mode 2021-09-28 09:31:13 +10:00
Iampete1 1148bb1234 Plane: Quadplane: add loiter to alt then QLAND mode 2021-09-28 09:31:13 +10:00
Iampete1 0549e08c5c Plane: add mehtod to check terrain by mode 2021-09-28 09:31:13 +10:00
Iampete1 dc2ba8236a Plane: trim_radio: check manual mode and rotation rates and add mesages 2021-09-28 09:16:24 +10:00
Iampete1 90dd36285e Plane: support TRIM_TO_CURRENT_SERVO_RC RC option to trigger trim radio function 2021-09-28 09:16:24 +10:00
Iampete1 cbfa4e5746 Plane: remove trim_radio mavlink option 2021-09-28 09:16:24 +10:00
Iampete1 8e693e5cd1 Plane: remove TRIM_AUTO param 2021-09-28 09:16:24 +10:00
Andrew Tridgell fd5faa866f Plane: always log QPOS when changing control state 2021-09-27 21:21:53 +10:00
Andrew Tridgell 9d0b7f8efe Plane: removed set_state to QPOS_POSITION1 in do_vtol_land
we are immediately replacing the state with QPOS_APPROACH, so the
set_state is not needed, and triggers a call to
attitude_control->reset_yaw_target_and_rate() which can badly impact
euler rates for tailsitters
2021-09-27 21:21:53 +10:00
Peter Hall e83b598040 Plane: Quadplane: check attitude relax before running controllers, don't run controls if not going to output 2021-09-25 12:53:11 +10:00
bugobliterator 4b62dd75b0 ArduPlane: fix casting to pass format check 2021-09-22 21:36:34 +10:00
Iampete1 cdfda2bd9b Plane: allow arming in quided with only arm in Qmodes Q_OPTION 2021-09-22 18:14:16 +10:00
Iampete1 b63e68a5ef Plane: fix RC init order to avoid error message 2021-09-21 17:49:47 +10:00
Peter Barker 9aee98eeb8 Plane: log groundspeed undershoot 2021-09-21 11:12:17 +10:00
Bob Long 84a89b0b94 Plane: fix units in Plane::get_wp_distance_m() 2021-09-21 09:40:00 +10:00
Bob Long 728d1e76fe Plane: clean up cm-to-m conversion in nav_control_output 2021-09-21 09:40:00 +10:00
Bob Long f2d32fc800 Plane: quadplane: fix wp_dist reporting for VTOL landings
After hitting the approach stage of a VTOL landing in auto, nav_controller_output sends zero as the distance to waypoint.
2021-09-21 09:40:00 +10:00
Iampete1 df36853da2 Plane: support ARMDISARM_AIRMODE 2021-09-21 09:36:24 +10:00
Iampete1 cc89a8cc48 Plane: remove airmode Q_OPTION 2021-09-21 09:36:24 +10:00
Iampete1 db416bbeef Plane: convert to new ARMDISAM based on quadplane param 2021-09-21 09:36:24 +10:00
Shiv Tyagi cdb4ec8ad0 Plane : Improved LAND_THEN_NEUTRL to work on all control surfaces
This fixes the issue #18593

Co-Authored-By: Peter Hall <33176108+IamPete1@users.noreply.github.com>
2021-09-17 22:06:24 -05:00
Andrew Tridgell baec0d83f2 Plane: moved accel cal update to vehicle code 2021-09-17 14:07:14 +10:00
Andrew Tridgell 7547ad53d3 Plane: allow for new guided destination during guided takeoff
if you set a very high alt for takeoff this is useful
2021-09-17 10:06:08 +10:00
Andrew Tridgell 8bee839931 Plane: fixed overshoot in guided takeoff of quadplanes 2021-09-17 10:06:08 +10:00
Iampete1 c4a1ae42e5 Plane: Quadpalne: move tiltrotor functionality to own class 2021-09-17 08:24:17 +10:00
Iampete1 1d5ea351c4 Plane: re-init RTL modes if home set 2021-09-15 14:10:15 +01:00
Iampete1 478bf37246 Plane: used correct WP radius for VTOL flight 2021-09-15 20:36:56 +10:00
Iampete1 a368549a9d Plane: tailsitter: only flag tilt limit on vectored vehicles 2021-09-15 18:03:12 +10:00