Commit Graph

4536 Commits

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