Commit Graph

4323 Commits

Author SHA1 Message Date
Andrew Tridgell c0d942af4c Plane: disable EKF3 default airspeed fusion by default
this fusion can cause problems with wind estimation, disable by
default for now
2021-07-22 18:20:45 +10:00
Andrew Tridgell 8e6abf5976 ArduPlane: replaced Pixhawk with more appropriate wording in docs 2021-07-22 07:48:12 +10:00
Peter Barker 06c2faaec5 ArduPlane: rename for AHRS restructuring 2021-07-21 21:01:39 +10:00
Peter Barker e3b8fc6646 ArduPlane: remove ability to use DCM as AHRS 2021-07-21 21:01:39 +10:00
Peter Barker 354c1091f8 ArduPlane: stop taking references to ahrs in APM_Control 2021-07-21 18:27:23 +10:00
Hwurzburg 19213d3627 Plane: Allow yaw at zero throttle in VTOL descents 2021-07-20 11:10:25 +10:00
Iampete1 015b971ccb Plane: add new dynamic mixer frame class 2021-07-20 09:19:28 +10:00
Andrew Tridgell d41e400c86 Plane: added acro and training modes RC option 2021-07-20 09:00:46 +10:00
Peter Barker 93323f1f39 Plane: stop setting terrain singleton; libraries use singleton 2021-07-12 17:34:44 +10:00
Leonard Hall 7db568c85a Plane: seperate kinimatic shaping from pid limit setting 2021-07-10 20:25:05 +09:00
WillyZehnder 0ce6157900 Plane: GCS_Plane.cpp Fix chronological sequence
to avoid inappropriate critical warning CRT:NoRCReceiver by ensuring the
call of plane.failsafe.last_valid_rc_ms before calling millis()
2021-07-07 18:56:09 +10:00
Peter Barker 5b7ec1fab4 Plane: do not run any prearm checks if we are armed or arming is not required
Co-authored-by: TunaLobster <unknown>
2021-07-07 18:20:54 +10:00
Stephen Dade d6a123b58b ArduPlane: Add support for HIGH_LATENCY2 messages 2021-07-07 17:10:05 +10:00
Hwurzburg 8dee32e64f Plane: Add TX FF tuning for Pitch/Roll/Yaw QuadPlane PIDs 2021-07-06 09:00:16 +10:00
Andrew Tridgell 7ca0aa7c94 Plane: updated release notes for 4.1.0beta3 2021-07-05 16:24:04 +10:00
Andrew Tridgell 8482f9af27 Plane: fixed motor test with DShot VTOL motors
need to arm when running the motor test
2021-07-05 07:36:28 +10:00
Samuel Tabor 5e5452cf73 Plane: mode_thermal: adjust messages to reference parameter names 2021-06-30 18:21:03 +10:00
Hwurzburg ac76a63931 ArduPlane: remove values metadata from log bitmask 2021-06-30 09:24:26 +09:00
Hwurzburg 8310f4a718 Plane: fix bug in tilt position for QLOITER and QRTL if THR_MIN !=0 2021-06-29 10:58:11 +10:00
Andrew Tridgell 92197bd5a9 Plane: fixed longitude wrap in verify_nav_wp
thanks to @Khancyr
2021-06-25 15:33:55 +10:00
Andrew Tridgell 50e6d67a66 Plane: update for new double precision position APIs 2021-06-24 21:34:30 +10:00
Andrew Tridgell 61ac45dd5a Plane: use cleaned up APIs 2021-06-24 20:28:45 +10:00
Andrew Tridgell 4d7bb82f9e Plane: updated release notes for 4.1.0beta2 2021-06-24 20:15:01 +10:00
Andrew Tridgell 66bc673442 Plane: fixed attitude control during QPOS_AIRBRAKE
this fixes a bug where we used the multicopter rate control when in
airbrake approach stage, which could lead to attitude going out of
control
2021-06-22 07:42:20 +10:00
Peter Barker 055e82276e ArduPlane: remove HIL support 2021-06-15 09:47:31 +10:00
Iampete1 6eab9b9c15 plane: quadplane: skip QPOS_POSITION1 on tailsitters 2021-06-15 09:25:58 +10:00
Peter Hall 85743be4f3 Revert "Plane: cope with Q pitch limit larger than fixed wing limit"
This reverts commit 74da3c74ac.
2021-06-15 09:25:58 +10:00
Hwurzburg e958306343 Plane: Add options to USE_REVERSE_THRUST to cover all flight modes 2021-06-15 07:05:02 +10:00
Hwurzburg 4f48233b43 ArduPlane: add QRTL always as Q_RTL_MODE option 2021-06-14 09:08:20 +10:00
Andrew Tridgell 80afba3bd2 Plane: updated release notes for 4.1.0beta1 2021-06-14 08:25:05 +10:00
Andrew Tridgell 0c8e81964e Plane: reset yaw controller on entry to POSITION1
this fixes a yaw change when we finish landing approach in
QRTL. Thanks to Henry for noticing this
2021-06-14 07:53:32 +10:00
Andrew Tridgell 4307390820 Plane: fixed distance threshold for vtol land 2021-06-13 07:50:02 +10:00
Andrew Tridgell f749c2c3ad Plane: fixed issue with overspeed in QPOS_POSITIION1
this fixes the backflip issue on the convergence that Henry found
2021-06-13 07:50:02 +10:00
Andrew Tridgell ae6220aace Plane: cope with zero distance to target in QPOS_POSITION1 2021-06-10 13:50:29 +10:00
Andrew Tridgell 0f9e7001d1 Plane: limit speed in POSITION1 based on angle
this prevents trying to fly a quadplane fast backwards or sideways. If
flying backwards then a 3x reduction is used. For sideways a 2x
reduction is used
2021-06-10 13:50:29 +10:00
Andrew Tridgell 74ac9964f1 Plane: improved POSITION1 speed profile
allow acceleration up to the Q_WP_SPEED, and assume a decel profile
matching Q_TRANS_DECEL for approach speed
2021-06-10 13:50:29 +10:00
Andrew Tridgell 5f8e90cd6f Plane: metadata fix for Q_OPTIONS 2021-06-10 13:50:29 +10:00
Andrew Tridgell 3611b1dbf7 Plane: added check for QPOS initialisation
thanks to Kris for noticing this!
2021-06-10 13:50:29 +10:00
Andrew Tridgell db34577755 Plane: use a separate bit for landing reposition in quadplanes
when repositioning stop descent
2021-06-10 13:50:29 +10:00
Andrew Tridgell 06cd077c36 Plane: fixed stick mixing with land reposition in quadplanes
prevent stick mixing overriding landing control
2021-06-10 13:50:29 +10:00
Andrew Tridgell 0937d903a1 Plane: use HAL_EFI_ENABLED 2021-06-09 18:07:00 +10:00
Andrew Tridgell 0ecc02c53a Plane: fixed constructor of accel_ef filter 2021-06-08 11:14:52 +10:00
Iampete1 438ca0a6c4 Plane: tailsitter: increase severity level of failed transisisons. 2021-06-08 10:56:09 +10:00
Andrew Tridgell f970735d47 Plane: fixed handling of NAV_LOITER_TIME with Q_GUIDED_MODE=1
and made logic of in_vtol_mode() easier to read
2021-06-05 13:05:30 +10:00
Andrew Tridgell aa904d6bbc Plane: fixed guided mode handling with new approach code
ensure we treat guided approach as not a vtol mode
2021-06-05 13:05:30 +10:00
Andrew Tridgell 1165fcab99 Plane: removed incorrect URL 2021-06-05 13:05:30 +10:00
Andrew Tridgell fd19ff3bea Plane: offset guided start point when using Q_GUIDED_MODE 2021-06-05 13:05:30 +10:00
Andrew Tridgell f15497c6a9 Plane: only do fwd thrust loss detection in SLT vehicles
on tilt rotors and tailsitters it doesn't make sense to switch to
POSITION1 at low speeds when in APPROACH
2021-06-05 13:05:30 +10:00
Andrew Tridgell 0232fa7456 Plane: cope with fwd thrust loss in Q approach
if throttle is saturated and descending and low airspeed then declare
thrust loss
2021-06-05 13:05:30 +10:00
Andrew Tridgell fbf5083e6a Plane: avoid transition in QRTL
if close to home and already in a VTOL mode then don't transition
2021-06-05 13:05:30 +10:00
Andrew Tridgell 3bb840f794 Plane: implement slow descent in QRTL approach
this approaches in QRTL at ALT_HOLD_RTL alt, then descends to
Q_RTL_ALT close to the destination
2021-06-05 13:05:30 +10:00
Andrew Tridgell 77ee922473 Plane: fixed NAV_CONTROLLER_OUTPUT in QRTL 2021-06-05 13:05:30 +10:00
Andrew Tridgell 245ded2f2d Plane: fixed handling of loss of fwd thrust in QRTL 2021-06-05 13:05:30 +10:00
Andrew Tridgell c7a14a5da1 Plane: disable cross-track in Q approach modes and QRTL 2021-06-05 13:05:30 +10:00
Andrew Tridgell 46722500b0 Plane: default Q_TRANS_DECEL to 6 for tailsitters 2021-06-05 13:05:30 +10:00
Andrew Tridgell a7b809d5d4 Plane: added approach and airbrake options
this defaults VTOL landings to have an approach and airbraking stage,
allowing for more efficient landings. Can be disabled by setting
Q_OPTIONS bit 16
2021-06-05 13:05:30 +10:00
Andrew Tridgell ddfc9e8300 Plane: improved quadplane auto-land into wind
when heading is strong we need to ramp up pitch limit slowly to
prevent a big dive
2021-06-05 13:05:30 +10:00
Andrew Tridgell b4992cc226 Plane: added accessors for poscontrol state
allows for time since state entered
2021-06-05 13:05:30 +10:00
Andrew Tridgell f1f7f01300 Plane: slave fixed wing desired rate to multicopter desired rate
this ensures that the two rate controllers don't fight each other when
in a VTOL mode
2021-06-05 13:05:30 +10:00
Andrew Tridgell 062a15ce11 Plane: set_takeoff_expected should only get set when not flying 2021-06-02 11:13:16 +09:00
Andrew Tridgell 68a1100c64 Plane: use new APIs for takeoff/touchdown expected 2021-06-02 11:13:16 +09:00
Hwurzburg bf14c32109 Plane: correct description of Q_TAILSIT_MOTMX param 2021-05-30 22:36:26 -07:00
James Harton be3cc1b679 Docs: Change all references from dev.ardupilot.org to the appropriate documentation URLs. 2021-05-31 12:20:45 +10:00
Peter Barker 3464f9b46e ArduPlane: remove optical flow pointer from AP_AHRS
Nothing was ever using it.
2021-05-30 10:44:42 +10:00
Leonard Hall e275ec9e63 Plane: Rename set_yaw_target_to_current_heading 2021-05-26 16:03:05 +09:00
vierfuffzig 9a538ba15b ArduPlane: fix advanced param metadata 2021-05-25 12:36:59 +10:00
Hwurzburg 38ed4a2dd6 ArduPlane: make centideg metadata incr and range consistent 2021-05-25 10:10:18 +10:00
Leonard Hall 8b3b6cf693 Plane: Fix before squash 2021-05-24 20:13:37 +10:00
Andrew Tridgell d1f6d913d5 Plane: adjust reposition landing code
use accel with 1s timeconstant
2021-05-24 20:13:37 +10:00
Andrew Tridgell 5857e750ce Plane: provide target velocity in QPOS descent 2021-05-24 20:13:37 +10:00
Andrew Tridgell 74da3c74ac Plane: cope with Q pitch limit larger than fixed wing limit
prevents tailsitter VTOL transition timeout due to not achieving angle
2021-05-24 20:13:37 +10:00
Andrew Tridgell 71fa52d5c6 Plane: fixed slowing descent in final phase of QLAND 2021-05-24 20:13:37 +10:00
Andrew Tridgell ec1cbb06fd Plane: allow reposition in auto land 2021-05-24 20:13:37 +10:00
Andrew Tridgell 6eafcdb558 Plane: added Q_OPTION bit for throttle control of landing speed 2021-05-24 20:13:37 +10:00
Andrew Tridgell 24375cf9c1 Plane: change printf calls to send_text 2021-05-24 20:13:37 +10:00
Andrew Tridgell 52b4c257ec Plane: prevent oscillation in GUIDED mode hover 2021-05-24 20:13:37 +10:00
Andrew Tridgell 5a880c74b6 Plane: use input shaping from pos_control
smoother navigation with new input shaping code
2021-05-24 20:13:37 +10:00
Andrew Tridgell a6ec7d9f23 Plane: ensure xy controller is initialised 2021-05-24 20:13:37 +10:00
Andrew Tridgell 9d52333afc Plane: don't start descent till under 3m/s 2021-05-24 20:13:37 +10:00
Leonard Hall 4bae8f03a4 Copter: Use PosControl fixes 2021-05-24 20:13:37 +10:00
Leonard Hall 57952861d6 Plane: PosControl Update 2021-05-24 20:13:37 +10:00
Leonard Hall ff2ae1d7d1 Plane: integrate AC_PosControl::get_roll_cd rename 2021-05-12 17:16:00 +10:00
Leonard Hall 1ce63bf433 Plane: minor format and comment fixes 2021-05-12 17:16:00 +10:00
Andy Piper 8e744a4a25 Plane: generalise ESC telemetry to allow harmonic notch handling with other ESCs 2021-05-12 17:01:11 +10:00
Pierre Kancir 8a0230e6d5 Plane: use MAVLink POSITION_TARGET_TYPEMASK 2021-05-11 09:53:50 +10:00
James O'Shannessy 5253b8a3ee ArduPlane: Fix spiralling loiters when no fence return point can be found 2021-05-05 10:59:10 +10:00
Iampete1 fd2909d53f Plane: change location refence frame correctly 2021-05-02 18:51:27 +10:00
Iampete1 1a182a52da Plane: init terrain to locaiton and wpnav sub sytems 2021-05-02 18:51:27 +10:00
Iampete1 572e401894 Plane: fix QRTl terrain following 2021-05-02 18:51:27 +10:00
Iampete1 a165a0e1bb Plane: fix loiter terrain following 2021-05-02 18:51:27 +10:00
Josh Henderson 5c8c961399 ArduPlane: Privatize AP_IntertialSensor Logging 2021-04-29 19:19:12 +10:00
Peter Barker 03d643a18a ArduPlane: log auxillary function invocations 2021-04-29 13:00:40 +10:00
Peter Barker 453b7403b1 ArduPlane: remove duplicate log metadata fields 2021-04-27 16:38:40 +10:00
Peter Hall d3dca4c17d Plane: consistantly slew all three throttles 2021-04-27 09:37:32 +10:00
Peter Hall 47ab0360e7 Plane: tailsitter: do not output throttle 2021-04-27 09:37:32 +10:00
Hwurzburg 09fb9a8e58 Plane: limit speed scaling in Autotakeoff wo AS sensor option 2021-04-20 09:07:09 +10:00
Andrew Tridgell da2ddda0cb Plane: added in ATRP logging 2021-04-15 06:57:16 +10:00
Andrew Tridgell 93abd44446 Plane: added SRate to PID logging 2021-04-15 06:57:16 +10:00
Andrew Tridgell 96059a6387 Plane: allow for AUTOTUNE_LEVEL==0 2021-04-15 06:57:16 +10:00
Andrew Tridgell d2d06af751 Plane: removed ATRP log msg 2021-04-15 06:57:16 +10:00
Andrew Tridgell a35d8e584d Plane: change param prefixes for roll/pitch controllers 2021-04-15 06:57:16 +10:00
Andrew Tridgell e5308db8c2 Plane: added FLIGHT_OPTIONS bit to enable yaw control in ACRO mode
this allows for yaw damper in ACRO, which is important on some
vehicles with no vertical stabilize

See
https://discuss.ardupilot.org/t/rudderless-split-rudder-flying-wing/69273/4
2021-04-15 06:22:29 +10:00
Samuel Tabor 4cc92c6b3e Plane: Constrain target_airspeed_cm by min as well as max airspeed. 2021-04-14 06:43:09 -07:00
Samuel Tabor baf31fd825 Plane: Ensure trim airspeed is applied if in auto with no DO_SPEED command received. 2021-04-14 06:43:09 -07:00
Peter Barker 6a32afcd72 ArduPlane: tidy setting of sensor status flags 2021-04-14 18:03:27 +10:00
Andrew Tridgell b749756c29 Plane: setup SMAX for Q modes
this enables logging of rates, which helps with tuning
2021-04-13 10:28:47 +10:00
Andrew Tridgell b984dd4a62 Plane: added in FF component in tailsitters
this is needed for decent control of tailsitters
2021-04-13 10:28:47 +10:00
Peter Hall 105f94f1fd Plane: tailsitter: transistion to and from inverted flight 2021-04-13 10:02:28 +10:00
Peter Hall 5a941ce02f PLane: tailsitter: instant transition when disarmed 2021-04-07 17:55:48 +10:00
Peter Hall 33f9e3d4b6 plane: add tailsitter transision rates, give more info in transision complete messages 2021-04-07 17:55:48 +10:00
Peter Barker aa973c5245 ArduPlane: move handling of last-seen-SYSID_MYGCS up to GCS base class 2021-04-07 17:54:21 +10:00
Iampete1 75dc0ced10 Plane: Quadplane: remove outdated Z controller reset 2021-04-07 17:37:30 +10:00
Stavros Korokithakis 3c19579988 Plane: Push the TECS to climb in all circumstances 2021-04-06 21:37:01 +10:00
Randy Mackay ff8b69fbad Plane: update tuning to integrate poscon changes 2021-04-03 12:07:59 +09:00
Peter Barker cb8ca17035 ArduPlane: return MAV_RESULT_FAILED from do_aux_function if invalid function 2021-03-31 11:36:09 +11:00
Iampete1 d1fabe0c3d Plane: VTOL: remove motors config error 2021-03-30 10:58:05 +11:00
Iampete1 e81dc36ed6 Plane: add option do do a VTOL approach RTL 2021-03-29 11:29:12 +11:00
Peter Barker a32d45eb04 ArduPlane: remove Log_Write_Performance which is not called anywhere 2021-03-26 16:35:08 +11:00
Iampete1 60d26723ae Plane: make TERRAIN_FOLLOW at AP_int32 bitmask, per mode option 2021-03-24 10:15:18 +11:00
Hwurzburg 8aabf7c22a Plane: Add VTOL descent rate, convert existing rate to climb rate only
Co-authored-by: Reko Merio K9260@student.jamk.fi
Co-authored-by: Peter Barker <pb-gh@barker.dropbear.id.au>
2021-03-23 14:32:46 +11:00
Mark Whitehorn c2ad2d6090 Plane: tailsitter.input_type bugfix 2021-03-23 11:54:09 +11:00
Hwurzburg 0eb5369543 Plane: allow max auto pitch in hand launch takeoffs 2021-03-23 09:56:22 +11:00
Iampete1 660d301f9b Plane: chan param converison 2021-03-17 19:18:46 +11:00
Iampete1 cca5e62c89 Plane: move RST_SWITCH_CH to RCx_OPTION 2021-03-17 19:18:46 +11:00
Iampete1 7226a3a9dc Plane: move FBWA_TDRAG_CHAN to RC Options 2021-03-17 19:18:46 +11:00
Iampete1 5f555e5314 Plane: move CHUTE_CHAN to RC Options 2021-03-17 19:18:46 +11:00
Iampete1 eeab196d91 Plane: move RST_MISSION_CH to RC option 2021-03-17 19:18:46 +11:00
Stavros Korokithakis 29043d62e9 Add FLIGHT_OPTION to climb before RTL 2021-03-16 11:58:47 +11:00
Peter Barker 0b35708f33 Plane: set tailsitter throttle output when disarmed 2021-03-16 10:41:44 +11:00
Peter Barker 000ff90a71 autotest: remove thrust-to-actuator to armed section 2021-03-16 10:41:44 +11:00
Hwurzburg d15e01d390 Plane: fix DO_CHANGE_SPEED airspeed to impact only AUTO and GUIDED modes 2021-03-16 10:09:34 +11:00
Samuel Tabor ed48558985 ArduPlane: Correct description of KFF_THR2PTCH parameter. 2021-03-12 20:11:02 -08:00
Siddharth Purohit 1b8519ee53 ArduPlane: move underscore one layer down for GPS 2021-03-12 16:32:36 +09:00
James O'Shannessy 198ec9a678 ArduPlane: Fix use of nullptr when AC_FENCE configured as DISABLED
Parameter upgrade needs to grab singleton as the fence library may not be built in to plane.
2021-03-05 16:48:57 +11:00
James O'Shannessy 560943d6e0 ArduPlane: corrections to returning to the previous mode if fence was disabled while under action 2021-03-05 14:52:46 +11:00
James O'Shannessy 5dd40afe0a ArduPlane: Retrigger fence breach if mode
ArduPlane: Move auto enabling code to common fence library
2021-03-05 14:52:46 +11:00
James O'Shannessy 2c66e164d0 ArduPlane: Improvements to parameter upgrading between versions 2021-03-05 14:52:46 +11:00
James O'Shannessy af733b2f09 ArduPlane: Convert and remap old parameters 2021-03-05 14:52:46 +11:00
James O'Shannessy f774196b52 ArduPlane: Cleanup of unnecessary comments in fence logic 2021-03-05 14:52:46 +11:00
James O'Shannessy c316711351 ArduPlane: Add conversion from ArduPlane geofence param to AC_Fence param 2021-03-05 14:52:46 +11:00
James O'Shannessy 8a99d9dd00 ArduPlane: Use auto enable and auto disable from AC_Fence 2021-03-05 14:52:46 +11:00
Dr.-Ing. Amilcar do Carmo Lucas 4f7ffc5eb1 Plane: move fence disable code to a function to enable reusability 2021-03-05 14:52:46 +11:00
Dr.-Ing. Amilcar do Carmo Lucas fef8b37b11 Plane: Address Randy review comments 2021-03-05 14:52:46 +11:00
James O'Shannessy aae092b88f ArduPlane: Remove all unused geofence capability
ArduPlane: Remove missed geofence logic
2021-03-05 14:52:46 +11:00
James O'Shannessy 17fb585bf1 ArduPlane: Add support for AC_Fence
ArduPlane: Remove some geofence logic from ArduPlane

ArduPlane: Refactor action and mode return implementation

ArduPlane: Use polyfence to find the return point.
2021-03-05 14:52:46 +11:00
Paul Riseborough baea2c33bd Plane: remove unnecessary call to setTakeoffExpected
This is already set from inside Plane::set_servos_controlled when throttle up and or launch accel is detected.
2021-03-05 12:10:01 +11:00
Paul Riseborough 1dc79f0be8 Plane: Clarify calculation used to detect throw 2021-03-05 12:10:01 +11:00
Paul Riseborough 4e648734fa Plane: Fix takeoff pitch for hand launch 2021-03-05 12:10:01 +11:00
Paul Riseborough 39e1eb238d Plane: make detection of impending takeoff more likely 2021-03-05 12:10:01 +11:00
Paul Riseborough a1bde16abd Plane: Fix failure to disarm after landing in strong winds 2021-03-05 12:10:01 +11:00
Paul Riseborough ad582a90dd Plane: Don't set takeoff expected until vehicle is armed. 2021-03-05 12:10:01 +11:00
Paul Riseborough f5f13b9a47 Plane: Set default airspeed variance using airspeed range 2021-03-05 12:10:01 +11:00
Paul Riseborough 82f68464d4 Plane: Don't lower nose when hand launching 2021-03-05 12:10:01 +11:00
Peter Barker f85e55a611 Plane: override mission-changing-command to reset some state 2021-03-04 11:59:33 +11:00
Tom Pittenger 5c8d3a87db Plane: change SRx_ docs value 1 50 2021-03-03 18:17:22 +11:00
Iampete1 69275582fa QuadPlane: fix loiter to RTL instant QRTL switch 2021-03-03 15:07:22 +11:00
Randy Mackay 4c8ada111b Plane: quadplane defaults Q_WP_SPEED to 500
Q_WP_ACCEL default is set to 100
2021-03-03 08:03:39 +09:00
Iampete1 1d050a01ce Plane: Quadplane: add Q_OPTION to ignore forward flight angle limits in Q modes 2021-03-02 11:16:35 +11:00
Iampete1 8ebe64a274 Plane: Quadplane disable forward motor assist in Q modes if rangefinder is out of range low 2021-02-28 18:48:56 +11:00
Andrew Tridgell 44df1dd0ca Plane: fixed the pitch control in transition for tilt rotors
this fixes an issue found by Henry. If level transition is set when
transitioning to FBWA from a Q mode, and the pilot pulls back on the
pitch stick to demand pitch up then the plane would go into a
high-alpha flight state with low vertical throttle so it would not
climb, resulting in it never getting past airspeed wait state
2021-02-28 11:33:18 +11:00
Andrew Tridgell 319368e4b7 Plane: fixed yaw on fwd transition in tilt quadplanes
this fixes the coordinated turn calculation for yaw rate in tilt
quadplanes, and also only applies it if demanding at least 10 degrees
roll.

this fixes an issue when the pilot has a small roll demand in FBWA
from slightly off roll RC trim

thanks to Henry for helping diagnose this!
2021-02-27 14:42:20 +11:00
Andrew Tridgell ee2f7eac80 Plane: prepare for 4.0.9 2021-02-23 08:03:12 +11:00
Andrew Tridgell c913d8134d Plane: use ahrs.groundspeed() instead of gps call
this fixes a zero of integrator when dead-reckoning after GPS has died
2021-02-21 09:13:31 +11:00
Peter Barker 1b74058842 Plane: recalculate glide slope after achieving rtl.done_climb 2021-02-13 19:34:52 +11:00
Pierre Kancir 6062e4ee81 ArduPlane: use AUX_PWM_TRIGGER_LOW and AUX_PWM_TRIGGER_HIGH 2021-02-10 18:48:06 +11:00
Mark Whitehorn 236961f17f Plane: use get_frame_class/type string methods
use AP_Enum<> for frame_class/type
remove invalid copterTS check
improve quadplane setup failure message

Co-authored-by: Peter Barker <pb-gh@barker.dropbear.id.au>
2021-02-09 12:43:53 +11:00
Samuel Tabor db8aaeb63a Plane: During takeoff keep limit at LEVEL_ROLL_LIMIT until rotate speed is reached. 2021-02-09 10:08:41 +11:00
Andrew Tridgell 2e9b2fbc2b Plane: update release notes for 4.0.9beta1 2021-02-06 15:46:01 +11:00
Peter Barker af29f34f2c Plane: store previous_mode_reason only as a local
It's never used outside the mode-changing method.
2021-02-03 20:33:25 +11:00
Iampete1 e600df680e Plane: instantly switch from RTL to QRTL if within radius 2021-02-03 18:53:54 +11:00
Patrick José Pereira cdc7f891a9 ArduPlane: Add missing const in member functions
Signed-off-by: Patrick José Pereira <patrickelectric@gmail.com>
2021-02-03 18:45:14 +11:00
Peter Barker eaa6b36077 ArduPlane: move control_mode_reason up to AP_Vehicle 2021-02-03 18:24:52 +11:00
Peter Barker b6d0208287 Plane: allow arming in all auto-throttle modes
... except QRTL and QLAND which are now universally denied for arming.
2021-02-03 18:22:10 +11:00
Peter Barker a9be4480b1 Plane: mark q modes as not having auto-throttle control
Reverts part of 6baaf03c8c

AvoidADSB was NOT marked as AutoThrottle before that commit but was
marked as such in that commit.
2021-02-03 18:22:10 +11:00
Samuel Tabor d2c8eb8ce9 Plane: Allow AP_Soaring to specify loiter radius in THERMAL mode. 2021-01-29 11:20:09 -08:00
Andrew Tridgell b20604bb59 Plane: update release notes for 4.0.8 2021-01-26 17:17:40 +11:00
Iampete1 004f873dc7 Plane: update Quadplane FRAME_CLASS description 2021-01-26 11:07:36 +09:00
Andrew Tridgell 5f4b5c4b94 Plane: prevent failsafe from changing mode during landing
this prevents RC or GCS failsafe from triggering a mode change during
a landing
2021-01-26 11:17:10 +11:00
Peter Barker 87486739d1 Plane: disallow changing to INITIALISING mode 2021-01-26 10:47:27 +11:00
Randy Mackay d487d6152e Plane: ahrs pre-arm always runs position checks 2021-01-26 10:46:49 +11:00
Peter Barker 95bc9cca79 ArduPlane: use ground_course in preference to ground_course_cd 2021-01-26 10:22:28 +11:00
Randy Mackay 0d0ff63242 Plane: ensure wp_nav::wp_and_spline_init is called at least once 2021-01-20 18:22:44 +11:00
Iampete1 e4fbe64616 Plane: add QuadPlane singleton 2021-01-19 11:18:10 +11:00
Peter Hall 05fb14e5d9 Plane: tailsitter start transition from initial pitch 2021-01-19 10:46:58 +11:00
Iampete1 4dec597372 Plane: move quadplane logging to QuadPlane: update() 2021-01-19 10:24:05 +11:00
Samuel Tabor d97a81bfea Plane: Re-order logic in soaring.cpp. 2021-01-13 18:35:53 +11:00
Samuel Tabor a8549f5e5f Plane: Use const method on modes classes to mark those that support auto switch to THERMAL mode. 2021-01-13 18:35:53 +11:00
Peter Barker b698546b70 ArduPlane: add do_disarm_checks boolean to disarm call
this creates symmetry between arming and disarming, at least as far as
the top-level arm() and disarm() calls are concerned.
2021-01-12 08:48:44 +09:00
Pierre Kancir 742cfc543f Plane: fix parameter unit 2021-01-12 10:21:55 +11:00
Josh Henderson cc1e395854 ArduPlane: privatize AHRS logging 2021-01-12 10:13:22 +11:00
Peter Barker 6baaf03c8c Plane: move auto_throttle_mode to being a method on each mode 2021-01-10 16:04:30 +11:00
Peter Barker f6cb1b5ad6 Plane: use a method on Mode for auto-navigation-mode
Avoids the state getting stale, which it will with a failed attempt to
go into qautotune, for example.
2021-01-10 16:04:30 +11:00
Peter Barker a1ea1306a1 Plane: use pure-virtual method for allows_throttle_nudging
In place of a state variable which could become stale
2021-01-10 16:04:30 +11:00
Andrew Tridgell 6a804c3a09 Plane: update release notes for 4.0.8beta1
# Conflicts:
#	ArduPlane/release-notes.txt
2021-01-06 09:37:39 +11:00
Peter Hall 0c68ec7b5c Plane: add limit to pid log metadata 2021-01-05 10:27:28 +11:00
Andrew Tridgell 96c2a5c77c Plane: added scaling for Q_TAILSIT_VFGAIN
this scales the vectoring in fixed wing flight to remove the impact of
surface speed scaling and add throttle scaling
2021-01-05 08:23:28 +11:00
Andrew Tridgell a0fcef6ceb Plane: added tilt vectoring in fixed wing modes
this allows for vectoring for roll and pitch in fixed wing modes on
tilt-vectored quadplanes
2021-01-05 08:23:28 +11:00
Michael du Breuil 2909623057 Plane: Ensure that only one form of throttle nudging is active at once 2021-01-03 12:47:14 +11:00
Hwurzburg 913d1b81b2 Plane: correct bug that prevents QACRO rudder disarm 2021-01-02 08:59:31 +11:00
Tom Pittenger c653ff880a Plane: extend Stream rates param count to match MAVLINK_COMM_NUM_BUFFER 2020-12-29 07:52:09 -07:00
Peter Barker 9b2ef4f6f1 Plane: move rudder-arming arm checks into Plane's AP_Arming 2020-12-29 12:55:27 +11:00
Hwurzburg 5b471c4c0e Plane: move loiter,thermal out of auto fs group 2020-12-29 10:55:00 +11:00
Iampete1 33e397c524 Plane: tailsitter: output 0 tilt with 0 vector gain 2020-12-22 11:00:59 +11:00
Iampete1 c62c19c798 Plane: tailsitter: apply gain scailing to Tilts in motors only Qassist 2020-12-22 11:00:59 +11:00
Iampete1 54ee2c35fb Plane: rename tailsitter scailing max param to match min and update descriptions 2020-12-22 11:00:59 +11:00
Iampete1 0976979045 Plane: tailsitter: set motor limit flags 2020-12-22 11:00:59 +11:00
Iampete1 c8b3c91ae5 Plane: Tailsitter add disk theory and altitude gain scailing 2020-12-22 11:00:59 +11:00
Mark Whitehorn 9bf89e5635 Plane: add check for vectored tailsitter in tailsitter_transition_vtol_complete 2020-12-21 12:56:24 +11:00
Mark Whitehorn dd7a860f23 Plane: always instantiate AC_AttitudeControl_TS 2020-12-21 12:56:24 +11:00
Mark Whitehorn 24508f08dc Plane: don't relax pitch attitude controller for vectored tailsitters in throttle_wait
add is_vectored_tailsitter()
instantiate AC_AttitudeControl_TS for tailsitters
2020-12-21 12:56:24 +11:00
Andrew Tridgell 8e3c6124eb Plane: added support for rear motor tilt
needed for X8 tilt tri test aircraft for this PR
2020-12-21 12:05:50 +11:00
Andrew Tridgell e94cf561d0 Plane: use rull euler control for fwd transition of tilt vectored planes
this gives strong yaw control and wind handling for tilt vectored
planes in forward transitions. It relaxes the yaw if the user either
demands yaw with stick input or plane navigation is demanding a roll
angle for a turn

When navigation is demanded we setup yaw rate for a coordinated turn
2020-12-21 12:05:50 +11:00
Andrew Tridgell abd5f8351d Plane: don't reset yaw target in TRANSITION_TIMER for tilt-vectored quadplanes 2020-12-21 12:05:50 +11:00
Andrew Tridgell ad14e153e8 Plane: fixed tilt vectoring to cope with large tilt angles
This uses vectoring for both roll and yaw when tilted, and uses
differential thrust for yaw when tilted
2020-12-16 08:45:11 +11:00
Peter Barker 1307a2fea8 ArduPlane: add auxillary function to change to FBWA 2020-12-15 19:14:33 +11:00
Habibullah Oladepo 739fec001f Plane: Fix typos in Parameters.cpp 2020-12-13 10:51:38 -08:00
Tom Pittenger 04f6b2e26e Plane: remove unnecessary ::cork() in init 2020-12-11 17:48:11 +11:00
yaapu 141010ac39 ArduPlane: added virtual getters for waypoint info 2020-12-10 12:39:44 +11:00
Tom Pittenger 4a35159cba Plane: reset baro_takeoff_alt while disarmed 2020-12-09 18:17:53 +11:00
Andrew Tridgell cd2f2f96eb rename barometer parameters to BARO prefix 2020-12-08 13:22:17 +11:00
Peter Barker 719ca3f95f Plane: be consistent about strings in fence auto-enable/disable 2020-12-08 12:26:35 +11:00
Andrew Tridgell 2d0201855e ArduPlane: moved init_safety to AP_Vehicle 2020-12-08 11:14:24 +11:00
Peter Barker 5fae2652ab ArduPlane: let AHRS get the airspeed sensor from the singleton 2020-12-07 15:57:28 -08:00
Hwurzburg 8658023dad Plane: Add lower CHECK_SCALE defaults for QuadPlane 2020-12-07 11:49:01 +11:00
Andrew Tridgell cd6ddf7d4f Plane: fixed disable of geofence on quadplane landing
fixes #15917
2020-12-02 18:33:07 +11:00
Andrew Tridgell 52f61c7ac1 Plane: make FENCE_AUTOENABLE an AP_Enum 2020-12-02 18:33:07 +11:00
Andrew Tridgell d984ddc163 Plane: apply circular limits to QLOITER pilot angles
This uses the same logic as Copters get_pilot_desired_angle() to apply
a circular limit and the limits in Q_ANGLE_MAX and Q_LOIT_ANG_MAX to
loiter pilot angles.

Co-authored-by: Kris <kris968658@gmail.com>
2020-12-01 11:22:49 +11:00
Hwurzburg 3cdcce2123 ArduPlane: add inflight airspeed cal rc switch 2020-11-25 21:30:15 +11:00
Gone4Dirt 70246059ed Plane: Move AP_Generator to AP_Vehicle 2020-11-24 12:54:52 +11:00
Iampete1 0e50023593 Plane: tailsitter: use true hover throttle in VTOL transision. 2020-11-18 19:33:21 +11:00
Iampete1 dd3ac893b3 Plane: dont use VTOL throttle percentage in tailsitter vtol transisiton 2020-11-18 19:33:21 +11:00
Hwurzburg 5e8e088978 ArduPlane:Add safety limit on tailsitter VTOL transition throttle
Co-authored-by: Peter Hall <33176108+IamPete1@users.noreply.github.com>
2020-11-17 11:21:17 +11:00
Iampete1 42887891be Plane: tailsitter: make sure alt target is abover current alt 2020-11-17 10:15:27 +11:00
Iampete1 f480f4e946 Plane: tailsitter: fix Qassist back - transision 2020-11-17 10:15:27 +11:00
Iampete1 c03de6bdbe Plane: log Qassist state 2020-11-17 10:15:27 +11:00
Andy Piper fa454da315 Plane: allow OSD for TX-only screens 2020-11-11 18:13:11 +11:00
Andrew Tridgell eea62bf733 Plane: added optional ground effect compensation for quadplanes
this allows for landings in aircraft badly effected by ground effect
to be compensated for
2020-11-10 12:05:48 +11:00
giacomo892 9b4441011c ArduPlane: Fix throttle nudge reset due to wrong radio timing 2020-11-10 10:20:23 +11:00
Mark Whitehorn c054218568 Plane: report quadplane setup errors in config_error loop 2020-11-05 15:04:10 +11:00
Iampete1 2d80dcd937 Plane: remove tailsitter VTOL transition race condition 2020-11-04 18:34:00 +11:00
Iampete1 5f67f8130b Plane: tailsitters use Z stopping point on transition 2020-11-04 18:34:00 +11:00
Iampete1 024d2b7435 Plane: always output flaperons and dspoilers 2020-11-03 10:44:07 +11:00
Iampete1 b225ae43ab Plane: always log tailsitter scalefactor 2020-11-03 10:38:51 +11:00
Iampete1 840f129153 Plane: remove unused tailsitter scailing option 2020-11-03 10:38:51 +11:00
Andrew Tridgell e5d580412e Plane: fixed usage of rangefinder in landing with RNGFND_LANDING=0
this fixes two places where rangefinder can affect landing when
RNGFND_LANDING=0
2020-11-03 10:08:00 +11:00
Iampete1 e6ba53856a Plane: tailsitter: ask for FW state don't check 2020-10-27 11:04:52 +11:00
Hwurzburg cf055fd1e0 Plane: add midposition to flare RC option sw 2020-10-27 10:47:07 +11:00
Mark Whitehorn 85480c8865 Plane: update frame_type parameter description 2020-10-27 10:24:20 +11:00
Randy Mackay 0362895720 Plane: integrate ahrs::get_variances change
offset is no longer returned
2020-10-21 08:58:45 +09:00
Iampete1 8885aa255d Plane: correct logger Message spelling error 2020-10-14 08:17:25 +11:00
Iampete1 916b35eec8 Plane: add EAS2TAS to CTUN 2020-10-13 15:18:36 +11:00
Hwurzburg b61ee34b6b ArduPlane: add RC option for landing flare 2020-10-13 11:36:19 +11:00
Samuel Tabor 9eef30294f Plane: Separate soaring update in mode_thermal to avoid loop rate issues. 2020-10-13 10:25:32 +11:00
Samuel Tabor 31c681c1cf Plane: Move soaring functions to mode_thermal. 2020-10-13 10:25:32 +11:00
Iampete1 2820228ad6 Plane: only do_change_speed within FBW min and max 2020-10-13 10:21:52 +11:00
Iampete1 2acbef5579 Plane: tailsitters in VTOL transition use FW rates 2020-10-13 10:07:05 +11:00
Iampete1 0201692eeb Plane: Q_OPTION to disable synthetic airspeed assist 2020-10-07 18:20:08 +11:00
Randy Mackay 60b4953751 Plane: integrate ahrs.pre_arm_check 2020-10-07 11:53:07 +11:00
Randy Mackay eeaf135cca AP_Arming: integrate ahrs.pre_arm_check 2020-10-07 11:53:07 +11:00
Randy Mackay 92f34a19d3 Plane: integrate parachute check_sink_rate
this was previously part of the update function.  It can be run before or after the update
2020-10-06 16:14:59 +11:00
Peter Barker 2783257aa4 Plane: correct compilation when logging disabled 2020-10-06 11:25:09 +11:00
Andrew Tridgell 9f3afe5434 Plane: update release notes for 4.0.7beta1 2020-10-02 15:16:40 +10:00
Iampete1 fb467da473 Plane: use Plane target yaw for ATT log 2020-09-30 18:15:42 +10:00
Iampete1 6621b69836 Plane: log quadplane transision state 2020-09-30 18:15:42 +10:00
Iampete1 f972d3dc2f Plane: Quadplane: tailsitter only change view once transision is complete 2020-09-30 18:15:42 +10:00
Iampete1 b61cf72b8c Plane: tailsitters in Qassist inherit motor state 2020-09-30 18:12:44 +10:00
Andrew Tridgell cfcd17f0d1 Plane: fixed bug in RC_Channel::has_valid_input
needs to go false when no RCIN and THR_FAILSAFE=2. This prevents ICE
library from using RC input
2020-09-29 10:43:41 +10:00
Samuel Tabor 589382cbb4 Plane: Add THERMAL mode to Parameters.cpp metadata. 2020-09-25 11:34:48 -07:00
Hwurzburg 8c856b3ed2 Plane: Add missing Q_OPTIONS metadata for all options 2020-09-25 13:43:59 +10:00
Andy Piper d16872cca5 Plane: compile out ADSB mode if required 2020-09-24 08:22:16 -07:00
Samuel Tabor 10111f92d5 Plane: Rename SOARING_ENABLED to HAL_SOARING_ENABLED and don't compare to ENABLED. 2020-09-24 07:30:48 +10:00
Samuel Tabor 0a738395fa Plane: Add THERMAL mode for thermal soaring. 2020-09-24 07:30:48 +10:00
Patrick José Pereira c19801d420 ArduPlane: Use new AP_FWVersionDefine header
Signed-off-by: Patrick José Pereira <patrickelectric@gmail.com>
2020-09-23 20:58:35 +10:00
Peter Barker 15372e9213 ArduPlane: replace '@User: User' with '@User: Standard' 2020-09-22 14:56:04 +10:00
Tatsuya Yamaguchi c67a924801 Plane: replace message indicating that initialisation has completed 2020-09-22 09:52:52 +10:00
Andy Piper c057be8ed1 Plane: conditionally compile ADSB support 2020-09-22 09:33:51 +10:00
Iampete1 fc67c2c13b Plane: check AP_Motors has init correcly for Quadplanes 2020-09-22 09:12:14 +10:00
Tom Pittenger db10ad2e54 Plane: update USE_REV_THR param description to include landing pattern 2020-09-17 07:31:43 -07:00
Tom Pittenger c4ab7caa33 Plane: add reverse_thrust option when in landing pattern 2020-09-17 07:31:43 -07:00
Samuel Tabor e0f524d425 Plane: Soaring: Use circling time as timeout if less than 20s. 2020-09-10 09:18:52 -07:00
Samuel Tabor ad48394b50 Plane: Add comment to clarify additional 10m in soaring altitude target. 2020-09-10 22:21:41 +10:00
Samuel Tabor 87530c1b2b Plane: Soaring: Remove exit_mode argument from soaring_restore_mode. 2020-09-10 22:21:41 +10:00
Samuel Tabor 59f4c7a3c0 Plane: Allow auto climb back to SOAR_ALT_CUTOFF when soaring in FBWB or CRUISE modes. 2020-09-10 22:21:41 +10:00
Samuel Tabor 9f5b068d9e Plane: Handle EXIT_COMMANDED return status in soaring. 2020-09-08 16:54:45 -07:00
Andrew Tridgell e9b8a20312 Plane: fixed hover learn in quadplanes for THR_MIN>0
petrol quadplanes commonly have THR_MIN>0, and without this change
cannot ever learn the hover throttle
2020-09-08 11:09:25 +10:00
Mark Whitehorn 629f2153e0 Plane: move arming delay logic into AP_Arming_Plane 2020-09-08 10:54:42 +10:00
Mark Whitehorn 2b4772269d Plane: tiltrotors: allow vectored yaw motor tilt when disarmed
add disarm tilt delay
add arming delay
add Q_OPTIONS for disarmed motor tilt and delayed arming
add comment explaining arming delay option
eliminate millis() wrap in arming delay
2020-09-08 10:54:42 +10:00
Mark Whitehorn bcdd16025b Plane: replace AP_MotorsMatrixTS with AP_MotorsMatrix 2020-09-08 10:50:31 +10:00
Hwurzburg 96f5e2a20a Plane: Update THR_FAILSAFE param metadata 2020-09-04 07:08:03 +10:00
Samuel Tabor 93bcfc4c3e Plane: Assign flap channel in set_control_channels() to avoid expensive call in set_servos_flaps(). 2020-09-03 07:55:51 +10:00
Samuel Tabor 590ebb180c Plane: Update airbrake channel assignment in set_control_channels() to avoid expensive call in airbrake_update() 2020-09-02 10:10:09 -07:00
Samuel Tabor f1290a2e17 Plane: Add use of airbrakes, used when throttle is negative OR via RC channel option. 2020-09-02 10:10:09 -07:00
Iampete1 abee62abc4 Plane: use throttle in for transition max comparison 2020-08-30 18:19:40 +10:00
Peter Barker 75aa8b7e6e Plane: log speed scaler into AETR 2020-08-29 18:52:46 +10:00
Andrew Tridgell bf0f359445 Plane: fixed LOITER_TO_ALT with terrain target
many thanks to Pompecukor for finding this!

Fixes #14951
2020-08-25 10:39:18 +10:00
Samuel Tabor 67c152cef2 Plane: Move cruise state into cruise flight mode. 2020-08-22 09:30:15 +10:00
Samuel Tabor 334fd4afbc Plane: Remove update_navigation() method. 2020-08-20 13:02:06 +10:00
Samuel Tabor 836be4b4b4 Plane: Remove _navigate indirection in Mode. 2020-08-20 13:02:06 +10:00
Samuel Tabor 6a27866df4 Plane: Call plane.update_loiter() rather than plane.mode_loiter.navigate(). 2020-08-20 13:02:06 +10:00
Samuel Tabor 06eea6ed9f Plane: Move navigation functions into flight mode classes. 2020-08-20 13:02:06 +10:00
Siddharth Purohit fb180fa431 Plane: move to using CANManager library 2020-08-19 17:31:09 +10:00
Peter Barker 306eaf4d03 ArduPlane: use an enumeration for the AP_Avoidance recovery action 2020-08-19 11:38:19 +10:00
Mark Whitehorn ee65940dfa Plane: enable yaw in qstabilize:air_mode at zero throttle 2020-08-13 08:47:27 +10:00
Mark Whitehorn 4630e9af30 Plane: add Mode::is_vtol_man_mode
and make use of is_vtol_mode in in_vtol_mode
2020-08-13 08:47:27 +10:00
Mark Whitehorn e22d9398d3 Plane: add AirMode RC option for quadplanes
add Q_OPTION for AirMode (auto-enabled if RCx_OPTION ARMDISARM assigned)
    bugfix: manual throttle mix for qacro
    qualify auto airmode on/off
    add Air Mode to Plane RC_OPTION metadata
    restrict airmode to manual throttle modes
    add qhover to manual throttle mix
    move air_mode from Plane to QuadPlane
    add Mode::is_vtol_man_throttle()
2020-08-13 08:47:27 +10:00
Michael du Breuil 99ad126986 Plane: Fix redundant call to SpdHgt_Controller->get_land_airspeed() 2020-08-11 09:47:24 +10:00
Andrew Tridgell 3c705d1c60 Plane: added THR_FAILSAFE=2 option
this allows for RC inputs to be ignored at low throttle, but won't
trigger failsafe. It is meant for users flying BVLOS missions, where
they want GCS failsafe enabled, but don't want RC failsafe, and want
to be sure that RC inputs will be ignored at low RC throttle values

Thanks to suggestion from Pompecukor
2020-08-07 14:01:20 +10:00
Samuel Tabor aa776b06a4 Plane: Use sq() rather than powf() in soaring.cpp. 2020-08-05 11:58:54 +10:00
Samuel Tabor b2d63c5049 Plane: Refactor soaring.cpp. 2020-08-05 11:58:54 +10:00
Peter Barker ac85ec9924 Plane: log AHRS synthetic airspeed 2020-08-04 23:12:03 +10:00
Andrew Tridgell 6466912ac0 Plane: don't crosstrack after AUTO VTOL takeoff 2020-08-04 09:26:08 +10:00
Andy Piper b649afe9e5 Plane: make mount/gimbal inclusion configurable per-board 2020-08-04 09:18:14 +10:00
Tom Pittenger c7c9461fc0 Plane: update ModeReasons to not use UNKNOWN reason 2020-07-28 11:52:39 -07:00
Andrew Tridgell cce2532901 Plane: fixed use of VTOL control for missions
horizontal speed was not being setup when doing waypoint missions in
VTOL mode
2020-07-28 08:06:14 +10:00
Peter Hall cd46c5006a ArduPlane: remove duplicate fail-safe time check 2020-07-28 08:04:50 +10:00
Iampete1 62354527d4 Plane: zero throttle nudge in RC failsafe 2020-07-28 08:03:16 +10:00
Henry Wurzburg 3617e0c729 ArduPlane: fix airspeed messages for consistency 2020-07-21 09:41:05 +10:00
Samuel Tabor 419f7c9998 Plane: Convert SOAR_ENABLE_CH to RCX_OPTION. 2020-07-21 09:38:04 +10:00
Samuel Tabor 611217f63e AP_Soaring: Use RC aux function rather than read RC directly. 2020-07-21 09:38:04 +10:00
Samuel Tabor 455ebaadf2 RC_Channel: Add soaring aux function. 2020-07-21 09:38:04 +10:00
Michael du Breuil 6c6e4eff67 Plane: adhoc MAVLink DO_LAND_START changing mode to auto is known to be a GCS reason 2020-07-17 09:15:05 +09:00
Henry Wurzburg 16a15f5450 ArduPlane: add CROW flaps mode select switch 2020-07-16 13:30:45 +10:00
Mirko Denecke 10a85892cf ArduPlane: update_trigger() is now called in AP_Camera update() 2020-07-15 08:37:28 +09:00
Paul Riseborough 585a6a6967 Plane: Log D gain limit cycle gain scaler
Used by roll and pitch loops in APM_Control
2020-07-13 13:47:50 +10:00
TunaLobster aca70ffd34 ArduPlane: Update Log_Write_Fast comment for accuracy 2020-07-11 19:15:21 +10:00
Iampete1 08a710235d Plane: add tailsitter assist with motors only option 2020-07-09 06:49:24 +10:00
Iampete1 6710bab006 Plane: add Q_OPTIONS to defaut to Qassist force enabled 2020-07-09 06:49:24 +10:00
Henry Wurzburg 4115603f13 ArduPlane: add terrain follow disable switch for CRUISE/FBWB 2020-07-08 13:39:42 +10:00
Paul Riseborough e5bd99a66f ArduPlane: Signal EKF to expect takeoff start to improve GSF yaw estimate 2020-07-07 15:33:58 +10:00
Michael du Breuil 955a05c4d5 Plane: Refactor mav_cmd_do_reposition to be consistent with copter 2020-07-07 10:34:19 +10:00
Mark Whitehorn 2af6e255d1 RC_Channel: add RC option for VTOL manual forward throttle
fix RC_OPTION metadata for 209: Forward Throttle
2020-07-07 08:37:46 +10:00
Mark Whitehorn d5b1b20274 Plane: implement manual forward throttle for QACRO, QSTABILIZE and QHOVER
add parameter Q_FWD_THR_MAX for scaling manual throttle
allow forward motor tilt when disarmed
add FWD_THR_CH as an RC option
change Q_FWD_THR_MAX to percent
change RC_OPTION FWD_THR to 209
move assignment of rc_fwd_thr_ch to one_second_loop
move arming check from forward_throttle_pct to set_servos
change Q_FWD_THR_MAX TO Q_FWD_MANTHR_MAX
expand description of Q_FWD_MANTHR_MAX
add pre-arm check for VTOL manual forward throttle
change VTOL fwd throttle input to percent
2020-07-07 08:37:46 +10:00
Peter Barker ee2118f93a Plane: add support for AP_Generator 2020-07-03 08:21:42 +09:00
Peter Barker d47569ccef Plane: correct ASSIST_ANGLE description 2020-07-01 20:57:32 +10:00
Andrew Tridgell 3a0538449c Plane: added Q_ASSIST_DELAY parameter
this allows tuning of the time between assistance thresholds being met
and assistance kicking in. It also changes the default delay from 1s
down to 0.5s based on analysis of a flight where assistance was too
slow
2020-07-01 20:57:32 +10:00
Andrew Tridgell d9358b4ac2 Plane: don't allow a zero speed_scaler
this fixes an issue with yaw damper on quadplanes when at zero
airspeed

Thanks to Vladi Portnoy for reporting this
2020-06-29 20:09:41 +10:00
Andy Piper 9077d41df1 Plane: add support for tracking fft peaks and individual motor rpms with harmonic notches
log harmonic notch even if FFT is disabled. Fallback to throttle notch for BLHeli
move harmonic notch update to AP_Vehicle
2020-06-21 19:09:35 +10:00
Michael du Breuil 43526e718e Plane: Remove the use of RTL_RADIUS from LOITER_UNLIM mission items 2020-06-19 11:10:29 -07:00
Mark Whitehorn ab2eb6185f Plane: also limit throttle during quadplane transitions 2020-06-16 11:43:18 +10:00
Peter Barker 1206df6f0c ArduPlane: remove use of Vector2 as function 2020-06-16 11:00:44 +10:00
Paul Riseborough 97d7d563c4 ArduPlane: Improve parameter description for FWD_BAT_VOLT_MAX/MIN 2020-06-16 10:17:33 +10:00
Paul Riseborough fdb4f908bb ArduPlane: Fix bug in forward throttle voltage compensation
The existing code does not adjust the upper and lower throttle limits with the result that at and of discharge climb and reverse thrust performance is significantly degraded.
2020-06-16 10:17:33 +10:00
vierfuffzig 147ebb74f4 Plane Parameters: fix THR_MAX param description
makes clear that thr is constrained in stabilized modes too unless passthrough is set, aligns with THR_MIN description.
2020-06-12 10:23:41 +10:00
Peter Barker 6c4812e408 ArduPlane: rename 'enum aux_switch_pos_t' to 'enum class AuxSwitchPos' 2020-06-12 08:11:46 +10:00
Peter Barker f59d2fdbf4 ArduPlane: add and use accessor for last-RADIO_STATUS.remrssi-ms 2020-06-09 10:20:29 +10:00
Iampete1 2121ddf736 Plane: drop unneeded call to calc_pwm 2020-06-09 09:04:14 +10:00
Andrew Tridgell fbd774fde9 Plane: set pressure alt for vtol motors 2020-06-05 11:35:53 +10:00
Iampete1 4b7d45e549 Plane: label and sort plane.h functions 2020-06-05 09:32:31 +10:00
Andrew Tridgell 568e13fbb9 Plane: allow for continue after land for quadplanes
this allows for a new takeoff after a quadplane auto landing
2020-06-02 09:12:22 +09:00
Michael du Breuil 911570e9f3 Plane: Protect against a divide by 0 when calculating the forward throttle compensation 2020-06-02 09:38:51 +10:00
Andrew Tridgell ebcbc6d449 Plane: update release notes for 4.0.6beta1 2020-05-27 13:27:27 +10:00
Peter Hall 7688430029 Plane: allow Qassit for fw to vtol transision 2020-05-26 09:01:47 +10:00
Peter Hall 87cd9a4791 Plane: allow Qassist for tailsitters 2020-05-26 09:01:47 +10:00
Peter Hall 2467d7b5c7 Plane: add Qassist switch 2020-05-26 09:01:47 +10:00
Tom Pittenger 0a5021fdcf Plane: bugfix: never reset auto_state.sink_rate 2020-05-23 18:49:12 -07:00
Andrew Tridgell 26c2555c3c Plane: increased allowed time for mavlink send to 750us
this is to allow more time to get streams out at low loop rates
2020-05-23 11:54:41 +10:00
Buzz 0f5177b291 Plane: Support a set of offboard MAVLink guided controls with rates
+ 3 rounds of fixes
2020-05-20 15:03:21 +10:00
Buzz d4df145b4b ArduPlane: option to keep landing throttle at thr_min during flare and touchdown, not zero. 2020-05-20 11:29:45 +10:00
Iampete1 f9ff8e5f11 Plane: align GCS PID with logged 2020-05-19 09:04:16 +10:00
Andrew Tridgell 8b21f5117a Plane: implement RTL_CLIMB_MIN parameter
this allows for an initial climb on RTL where roll is limited to
LEVEL_ROLL_LIMIT
2020-05-18 13:04:04 +10:00
Paul Riseborough 0c9433873c ArduPlane: Modify ekf failsafe checks
Restore velocity check and make the logic closer to what ArduCopter does.
Remove unnecessary initialisation.
2020-05-14 10:40:48 +10:00
Paul Riseborough 85e53d53e1 ArduPlane: Don't use optical flow health when assessing EKF nav health
Plane currently doesn't use optical flow for navigation - it is used fo terrain height estimation.
2020-05-14 10:40:48 +10:00
Paul Riseborough 3a10838c65 ArduPlane: Don't check variances if not available 2020-05-14 10:40:48 +10:00
Paul Riseborough 70a02f31ab ArduPlane: More efficient type use 2020-05-14 10:40:48 +10:00
Paul Riseborough 5b312e9f09 ArduPlane: Fix logic error 2020-05-14 10:40:48 +10:00
Paul Riseborough cd5714d059 ArduPlane: Allow EKF dead reckoning to continue after loss of GPS 2020-05-14 10:40:48 +10:00
Paul Riseborough 40cc5a5006 ArduPlane: Improve EKF failsafe in VTOL modes
Replicates Copter behaviour with a three step process if the EKF sustains a loss of navigation as detected by high GPS innovation test ratios:

1) Attempts a yaw reset using the GSF estimate if available
2) Attempts a lane switch
3) Falls back to a non-position mode
2020-05-14 10:40:48 +10:00
Randy Mackay 59a2667870 Plane: quadplane's throttle mix uses filtered accelerations 2020-05-12 09:56:09 +10:00
Michael du Breuil 9eaf7f5528 Plane: Fix VTOL yaw for STICK_MIXING 0 2020-05-08 08:44:03 +10:00
Peter Barker 8222b5db62 Plane: AP_Soaring no longer takes AHRS in constructor 2020-05-05 17:35:14 +10:00
Tom Pittenger 87c75332e7 Plane: ignore guided cmds from mavlink if we're in avoidADSB.
This change makes it behave like MAVLINK_MSG_ID_SET_POSITION_TARGET_LOCAL_NED
2020-05-05 10:51:16 +10:00
Peter Barker f17ea78a6c Plane: move sending of WIND message to GCS namespace 2020-05-05 10:29:13 +10:00
Peter Barker e75fa6fb15 Plane: move sending of AOA_SSA message to GCS namespace 2020-05-05 10:29:13 +10:00
Iampete1 3ded030fa8 Plane: compensate forward throttle for battery voltage drop 2020-05-05 09:46:41 +10:00
Peter Barker 86c765d8c9 ArduPlane: create and use INTERNAL_ERROR macro so we get line numbers 2020-04-30 13:21:36 +10:00
Andrew Tridgell d0a509eef1 ArduPlane: invalidate param count when changing param tree structure 2020-04-29 07:36:55 +10:00
Paul Riseborough 0efdb2b66b ArduPlane: Send default airspeed to estimators 2020-04-24 09:43:23 +10:00
Randy Mackay 9a43a31f24 Plane: do not send ahrs3 mavlink message 2020-04-22 14:11:17 +09:00
Henry Wurzburg 3397bce235 Plane: Quadplane tailsit transition to FW throttle level change 2020-04-21 09:51:47 +10:00
Henry Wurzburg 6c730ccfec Plane: start tailsitter forward transition from current pitch angle 2020-04-21 09:50:57 +10:00
Rishabh 0c5d68dfeb Plane: Replace update_vel_controller_xy() with update_xy_controller() 2020-04-21 09:22:45 +10:00
Mark Whitehorn bada075daa Plane: expand description of CTUN.Aspd to indicate when estimate or measurement is reported 2020-04-18 15:33:43 +10:00
Peter Barker f5f4576835 ArduPlane: remove comment for already-removed in-delay-callback function
These are now attached to completely unrelated functions, which is
pretty bad.
2020-04-16 15:11:35 +09:00
Andrew Tridgell 156fe0846f Plane: fixed plane landing gear to obey LGR_OPTIONS bits
we forced landing gear retract/deploy on takeoff and landing when we
should be following the options bits
2020-04-15 17:10:31 +10:00
Rishabh 6989cb0131 Plane: Use AHRS for heading in mode loiter 2020-04-10 12:18:35 +10:00
Samuel Tabor b9daae062c AP_Soaring: Use enum class rather than typedef enum for states and hide details of these. 2020-04-08 09:11:54 +10:00
Samuel Tabor d7ce3ff72e AP_Soaring: Don't check throttle status on entry to loiter, because it is automatically set on first pass in update_soaring. 2020-04-08 09:11:54 +10:00
Samuel Tabor 36a90cf443 Plane: Remove unused isHeadingLinedUp function, and rename functions to avoid confusion. 2020-04-08 09:11:54 +10:00
Samuel Tabor 170b599469 Plane: Required changes for conditional soaring compilation (fmuv2). 2020-04-08 09:11:54 +10:00
Samuel Tabor e1f7122566 AP_Soaring: Improve tracking of enabled/disabled status. 2020-04-08 09:11:54 +10:00
Samuel Tabor e7418637ee Plane: In FBWB make target alt track current if soaring is enabled and suppressing throttle. 2020-04-08 09:11:54 +10:00
Samuel Tabor ed7e359f4d Plane: Make target altitude track current altitude when gliding. 2020-04-08 09:11:54 +10:00
Samuel Tabor 2260fda4ec AP_Soaring: Detect changes in active parameter/switch position. 2020-04-08 09:11:54 +10:00
Samuel Tabor 650b464831 AP_Soaring: Move drift check to separate function and check drift with reference to mission segment, allowing drift in right direction. LOITER target, not current position, is now used. 2020-04-08 09:11:54 +10:00
Samuel Tabor 5963164a22 Plane: Soaring, make zero SOAR_MAX_RADIUS always RTL, and -1 never. 2020-04-08 09:11:54 +10:00
Samuel Tabor 75f772b269 AP_Soaring: Add SOAR_MAX_RADIUS parameter, that defines when a RTL will be used when exiting LOITER. 2020-04-08 09:11:54 +10:00
Samuel Tabor 298088268a Plane: Soaring, don't wait for heading if too low, and add timeout otherwise. 2020-04-08 09:11:54 +10:00
Samuel Tabor 684ee11fc3 AP_TECS: Add flags to indicate gliding flight, and use these with AP_Soaring. 2020-04-08 09:11:54 +10:00
Samuel Tabor 013628bd1d Plane: Soaring - better reporting of exit due to drift. 2020-04-08 09:11:54 +10:00
Samuel Tabor 96bc0e1e03 Plane: Soaring: Reset loiter.sum_cd when good to continue thermalling, so that exit heading acceptance criteria does not grow. 2020-04-08 09:11:54 +10:00