Commit Graph

4764 Commits

Author SHA1 Message Date
Peter Barker 98e2782851 Plane: correct compilation when AP_Rally disabled 2023-04-10 16:37:42 -07:00
Henry Wurzburg c86c89f05c ArduPlane: move estop pre-arm to AP_Arming and add exception 2023-04-11 09:24:06 +10:00
Henry Wurzburg 21d7a8102e Plane:allow airbrakes to be used 2023-04-04 09:41:53 +10:00
Nick Exton 674d7facde Plane: Use Location::same_loc_as() in QuadPlane::waypoint_controller() 2023-04-04 09:40:45 +10:00
Nick Exton 6a2bfeb3dd Plane: Use new Location::same_loc_as() function 2023-04-04 09:40:45 +10:00
Andrew Tridgell 3d3cd435c2 Plane: release notes for 4.3.5 2023-03-26 16:45:38 +11:00
Andrew Tridgell 467cb75e95 Plane: release notes for 4.3.5beta1 2023-03-24 13:42:11 +11:00
bugobliterator 75aaebc758 ArduPlane: change INS_ to INS 2023-03-21 10:04:16 +11:00
Tom Pittenger 3ac55f97b1 Plane generalize Aux Switch VTOL abort for any plane abort landings 2023-03-15 13:31:43 -07:00
Henry Wurzburg a86ff90b97 ArduPlane: add AUTO VTOL landing abort AUX sw 2023-03-14 10:52:23 +11:00
Randy Mackay c12e15f580 Plane: remove unused do-control-video 2023-03-09 12:24:05 +11:00
Iampete1 d97bd6f5c3 Plane: titrotor: is_motor_tilting: dont cast to uint8 2023-03-07 10:28:11 +11:00
Tom Pittenger 96ee3651d2 Plane: Auto takeoff roll-limits to use TKOFF_LVL_ALT 2023-03-02 09:24:13 +11:00
Randy Mackay d9795d3580 Plane: integrate camera frontend/backend split 2023-03-01 18:18:51 +11:00
Andrew Tridgell 8637f2d9c6 Plane: release notes for 4.3.4 2023-03-01 12:58:01 +11:00
Andrew Tridgell a0634d8b5b Plane: constrain tilt range for vectored yaw
this prevents a case where we can demand unlimited vectored yaw,
leading to loss of control

this was particularly noticible before the fix in #23023 - if you
armed for a 2nd time in QHOVER after moving the throttle above 10% so
throttle_wait was cleared then the motors would try to tilt fully so
one motor is in fwd flight position. This would cause a prop strike
while on the ground
2023-02-26 08:52:16 +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
Tom Pittenger 7a6f398668 Plane: add TKOFF_GND_PITCH 2023-02-23 11:12:39 +11:00
Iampete1 eefa3b1ce4 Plane: move training mode function to mode training 2023-02-22 19:26:59 +11:00
Iampete1 f6b0c3775c Plane: move mode acro functions to mode acro 2023-02-22 19:26:59 +11:00
Peter Barker c18276e19b ArduPlane: add support for mavlink in-progress message 2023-02-21 17:07:41 +11:00
Iampete1 50eaa1cc54 Plane: move acro stabilization into mode acro 2023-02-21 11:27:24 +11:00
Iampete1 6bb0096b9d Plane: move training stabilize function to training mode 2023-02-21 11:27:24 +11:00
Iampete1 549dd3875d Plane: add mode ahrs convenience refence 2023-02-21 11:27:24 +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
Iampete1 5586f4ad3a Plane: arming: modes: don't always display 2023-02-20 10:55:32 +00:00
Andrew Tridgell 312d37306e Plane: ensure home is up to date on arming
remove any discrepancy which has crept in over the last few seconds

this also ensures that relative_altitude is updated, and copes with
the EKF refusing the resetHeightDatum call
2023-02-19 10:45:42 +11:00
Iampete1 2ffe677d39 Plane: combine per mode arm and pre-arm checks 2023-02-15 19:43:40 +11:00
Andrew Tridgell 4a96221a70 Plane: release notes for 4.3.4-beta1 2023-02-12 17:37:07 +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 7735614634 Plane: implement set_rudder_offset() 2023-02-08 16:25:39 +11:00
Pierre Kancir 321801a2c3 Plane: unify firmware name 2023-02-08 12:47:49 +11:00
Iampete1 d928e8b002 Plane: stop passing speed_scaler all over the place 2023-02-07 10:17:09 +11:00
Peter Barker f0e17957f4 ArduPlane: avoid using struct Location
clang reports this could be a problem when compiling under some EABIs.  Remove it from most places as it is just noise, replace with class where we want to avoid including Location.h
2023-02-04 22:51:54 +11:00
TsuyoshiKawamura 220e58ca6d Plane: correct spelling in ReleaseNotes.txt 2023-02-01 14:16:28 +00:00
Iampete1 2d51b2c9b8 Plane: remove direct roll/pitch stick mixing support 2023-02-01 18:45:10 +11:00
Iampete1 a63a32d6f3 Plane: QRTL: combine threshold radius for QRTL and RTL 2023-01-31 10:57:21 +11:00
Henry Wurzburg 10b69e1c1f Plane:expand yaw autotune to other modes 2023-01-31 10:02:16 +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 76a10d9b26 Plane: relative_ground_altitude allow passing bool for terrain use 2023-01-25 19:34:53 +11:00
Iampete1 928a923f43 Plane: Quadaplane: QRTL use stopping point for climb submode altitude threshold 2023-01-25 19:34:53 +11:00
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