Commit Graph

4041 Commits

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