Commit Graph

4160 Commits

Author SHA1 Message Date
Iampete1 c73207b4b0 Plane: quadplane: remove init mode and control run methods 2021-09-08 18:06:58 +10:00
Iampete1 a985e47d45 Plane: system: don't try and switch to VTOL modes if quadplane is not enabled 2021-09-08 18:06:58 +10:00
Iampete1 e4feea9457 Plane: mode enter init auto state vtol mode to is_vtol_mode 2021-09-08 18:06:58 +10:00
Iampete1 2582159d1a Plane: mode.h remove init method 2021-09-08 18:06:58 +10:00
Iampete1 fae22b34b7 Plane: mode_qstabilize: combine enter and init 2021-09-08 18:06:58 +10:00
Iampete1 63be15e018 Plane: mode_qrtl: combine enter and init 2021-09-08 18:06:58 +10:00
Iampete1 fa908b0a1d Plane: mode_qloiter: combine enter and init 2021-09-08 18:06:58 +10:00
Iampete1 70d9d20faf Plane: mode_qland: combine enter and init 2021-09-08 18:06:58 +10:00
Iampete1 5ebd439712 Plane: mode_qhover: combine enter and init 2021-09-08 18:06:58 +10:00
Iampete1 f055471d8a Plane: mode_qautotune: call init 2021-09-08 18:06:58 +10:00
Iampete1 64aba43b56 Plane: mode_qacro: combine enter and init 2021-09-08 18:06:58 +10:00
Iampete1 fd7a879c85 Plane: remove unused params 2021-09-08 17:21:23 +10:00
Hwurzburg 327f3a0803 ArduPlane: add option for man throttle center to be TRIM_THROTTLE 2021-09-07 10:02:26 +10:00
Iampete1 95fbf39f72 Plane: quadplane: check_attitude_relax use the last time the controllers were run not the last time relax was checked 2021-09-07 09:09:47 +10:00
Iampete1 fb8fb34cfc Plane: tailsitter: don't relax attitude control in transision to VTOL, rely on check_attitude_relax to do the right thing 2021-09-07 09:09:47 +10:00
Hwurzburg 5ca652a243 Plane: rename tailistter motor class to more correct singl/dual motor layout 2021-09-06 10:14:05 +10:00
Peter Barker d6a2056cca ArduPlane: make bad-mode-number notification consistent across vehicles 2021-09-01 19:45:46 +09:00
Peter Barker 0a8e1575b1 Plane: reuse set_mode_by_number implementation
Was just duplicated
2021-09-01 19:45:46 +09:00
Iampete1 88f2f7ccae Plane: remove unused param OVERRIDE_SAFETY 2021-09-01 18:46:18 +10:00
Andrew Tridgell 3bb17697fd Plane: fixed params for Q_TAILSIT_ENABLE 2021-09-01 14:04:35 +10:00
Iampete1 7f8b7b66a9 Plane: tailsitter: add enable = 2 for force q assit and assisted flight airmode 2021-09-01 08:33:24 +10:00
Iampete1 f1477a6c29 Plane: quadplane: add assisted flight only airmode 2021-09-01 08:33:24 +10:00
Iampete1 4efa9866fa Plane: arming: do not disable asisted flight airmode on disarm 2021-09-01 08:33:24 +10:00
Iampete1 46670f7bd0 Plane: quadplane: move tailsitter items to dedicated setup 2021-09-01 08:33:24 +10:00
Iampete1 700a92f036 plane: quadplane: tailsitter: run FW transition check and assist immediately 2021-08-31 10:34:33 +10:00
Peter Hall 657fcb7f59 Plane: quadplane: set `last_pidz_init_ms` 2021-08-31 09:58:03 +10:00
Iampete1 3c44a4fe6b Plane: radio: remove recompute_pwm_no_deadzone calls in training mode 2021-08-31 09:48:59 +10:00
TunaLobster d31f3eb4c5 Plane: Add TRIM_PITCH_CD FLIGHT_OPTIONS bits for GCS and OSD 2021-08-31 09:32:10 +10:00
Andrew Tridgell a39a948c57 Plane: updated releases notes for 4.1.0beta6 2021-08-29 11:35:08 +10:00
Peter Barker bfe9208849 ArduPlane: add and use HAL_BUTTON_ENABLE 2021-08-25 19:03:42 +10:00
Iampete1 70ab9ba3b6 Plane: tailsitter: remove pilot prop-hanging teaching params and code. 2021-08-25 18:47:51 +10:00
Hwurzburg 551d55a85c ArduPlane: add thr position trigger to ThrLandCtrl Q_OPTION 2021-08-25 12:32:59 +10:00
Andrew Tridgell 3228b0e670 Plane: added MCU_STATUS message 2021-08-25 07:11:31 +10:00
Iampete1 d372907a98 Plane: Quadplane: add Q_OPTION to only allow arming in Qmodes and auto. 2021-08-24 10:39:12 +10:00
Samuel Tabor 65a38b26a4 ArduPlane: altitude: rangefinder correction should be relative to the altitude source being used for navigation. This avoid applying it twice when there is an existing correction saved. 2021-08-19 17:59:33 +10:00
Andrew Tridgell e1b73a5198 Plane: added slew rate and Dmod for PID_TUNING message 2021-08-19 12:08:54 +10:00
TunaLobster cbf6c2926f ArduPlane: Remove @RebootRequired: False 2021-08-19 10:00:16 +10:00
Peter Barker e0d03ce565 ArduPlane: move wind-estimation-enabled state to frontend 2021-08-18 18:37:39 +10:00
Peter Barker a84fda9b1f Plane: adjust for rename yaw_initialised -> dcm_yaw_initialised 2021-08-18 18:37:39 +10:00
Peter Barker 5afaacc320 ArduPlane: stop sending SENSOR_OFFSETS
Only works for first compass instance.

We have all of these in parameters anyway.
2021-08-18 18:06:24 +10:00
Andrew Tridgell 58c823284c Plane: mark logger Write() calls as streaming where appropriate 2021-08-18 10:20:03 +10:00
Andrew Tridgell 497a7c9819 Plane: fixed EKF fly-forward flag for tailsitters
for tailsitters that are always using the VTOL controllers (forced
QAssist) we need a different way to determine the fly-forward flag
2021-08-17 20:48:36 +10:00
Iampete1 baf2b4a3d8 Plane: Qstabilize: mode functions to ModeQStabilize 2021-08-17 11:46:49 +10:00
Iampete1 44e63861ce Plane: QRTL: move functions to ModeQRTL 2021-08-17 11:46:49 +10:00
Iampete1 f75919e727 plane: QLoiter: move functions to ModeQLoiter 2021-08-17 11:46:49 +10:00
Iampete1 921116e7a3 Plane: QLand: move functions to ModeQLand 2021-08-17 11:46:49 +10:00
Iampete1 737096f342 Plane: QHover: move functions to ModeQHover 2021-08-17 11:46:49 +10:00
Iampete1 a1fa683272 plane: Qautotune: move functions to ModeQAutotune 2021-08-17 11:46:49 +10:00
Iampete1 e293866245 plane: Qacro: move functions to ModeQAcro 2021-08-17 11:46:49 +10:00
Peter Barker 515a994c59 ArduPlane: move VehicleClass handling to AHRS frontend
.... and renaming the enumeration while we're at it
2021-08-17 10:34:07 +10:00
Iampete1 bd2fed31ee Plane: actualy fail to enter mode, don't just put the mode back and reutrn true 2021-08-17 10:20:53 +10:00
Iampete1 59a158d7be Plane: don't output throtte in when safe 2021-08-16 21:22:35 +10:00
Andrew Tridgell c6efbdd359 Plane: update release notes for 4.1.0beta5 2021-08-16 15:19:43 +10:00
Hwurzburg 9ab0d2e387 ArduPlane: add CRUISE mode RC AUX Function switch 2021-08-11 18:35:05 +10:00
Andrew Tridgell d1d0ab41d6 Plane: added option to log PIDs at full rate
useful for tuning quadplanes
2021-08-10 10:13:36 +10:00
Peter Barker 5dab6b7275 Plane: remove pointless override of send_simstate
This is dangling after removing HIL stuff
2021-08-10 09:48:34 +10:00
Iampete1 a1ecd706b7 Plane: notify buzzer on every mode change 2021-08-10 09:47:33 +10:00
Leonard Hall 65b58dea85 Plane: fix PID filter names FILT -> FLTE, D_FILT -> FLTD 2021-08-10 08:33:56 +09:00
Peter Hall ed4345cb3b Quadplane: tailsitter: provide assistance at min throttle 2021-08-08 19:41:22 +10:00
Peter Hall 2527117cf9 Quadplane: combine assistance_needed and assistance_safe functions 2021-08-08 19:41:22 +10:00
Hwurzburg 80b4cd7ae9 ArduPlane: correct Mission Reset override behaviour in Plane 2021-08-06 10:17:25 +10:00
bugobliterator c8b2f009fd Plane: change class name from SITL::SITL to SITL::SIM 2021-08-05 07:25:31 +10:00
Tom Pittenger 7f9bbc9cfd Plane: fix ADSB stall speed units. Was accidently using meter/s instead of cm/s 2021-08-04 07:08:24 -07:00
Samuel Tabor 23f6f38390 Plane: soaring: No action if in landing sequence. 2021-08-04 06:52:56 +10:00
Josh Henderson 66cd413473 ArduPlane: remove POSITION_TARGET_TYPEMASK_FORCE_SET 2021-08-03 12:48:38 +10:00
Iampete1 7ff592d29e Plane: Quadplane: move mode functions to mode classes in-place 2021-08-03 12:28:31 +10:00
Iampete1 4a5e4f9c85 Plane: mode: add quadplane refences 2021-08-03 12:28:31 +10:00
Iampete1 a808d5c688 Plane: mode: add run and init methods 2021-08-03 12:28:31 +10:00
Iampete1 03d17437c3 Plane: mode_takeoff: call base mode constuctor 2021-08-03 12:28:31 +10:00
Peter Barker 435988a300 Plane: don't reset home on GPS startup on watchdog reset 2021-08-03 10:36:50 +10:00
Peter Barker cfe25f71e3 ArduPlane: use mission singleton inside AP_AdvancedFailsafe 2021-08-03 10:35:24 +10:00
Andrew Tridgell e7702a4216 Plane: mark log messages as streaming 2021-08-03 10:23:36 +10:00
Hwurzburg 1e4a6c9236 ArduPlane: Correct OSD horizon for VTOL modes and TRIM_PITCH_CD in Fixed Wing 2021-08-03 10:09:28 +10:00
Peter Barker 7e8f812909 Plane: don't allow motortest if motors not allocated 2021-08-02 10:24:49 +10:00
Andrew Tridgell b037507c48 Plane: mark master as 4.2.0dev 2021-08-01 06:06:26 +10:00
Peter Barker c348f602d9 ArduPlane: use AP::compass().available in place of enabled() 2021-07-30 12:19:42 +10:00
Peter Barker 85e8b362a7 ArduPlane: stop using AHRS as conduit for Compass pointer 2021-07-30 12:19:42 +10:00
Peter Barker c1e263695f Plane: remove unimplemented function declaration 2021-07-30 11:23:06 +10:00
Iampete1 f18428b357 Plane: #ifdef scripting specific functions 2021-07-28 18:18:32 +10:00
Hwurzburg b539a534e9 Plane: improve description of Q_TRIM_PITCH 2021-07-27 12:49:33 +10:00
Iampete1 beefd95079 Plane: QuadPlane: tailsitter param conversion, set and use new enable param 2021-07-27 09:08:34 +10:00
Iampete1 0eab3faf32 Plane: use new tailsiter class 2021-07-27 09:08:34 +10:00
Iampete1 2bc2b9533b Plane: QuadPlane: move tailsitter to class 2021-07-27 09:08:34 +10:00
Andrew Tridgell 716697f337 Plane: updated release notes for 4.1.0beta4 2021-07-25 18:31:48 +10:00
Andrew Tridgell 73952dfecb Plane: update ATRP logging 2021-07-24 15:32:55 +10:00
Andrew Tridgell f472da8e90 Plane: added ONESHOT_MASK parameter
after discussion with Paul on servo latency
2021-07-23 14:47:14 +10:00
Andrew Tridgell 1ae669bb01 Plane: added manual input expo for MANUAL, ACRO and TRAINING
this is easier than setting up mode specific expo in radios for flying
in manual modes
2021-07-23 14:47:14 +10:00
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