Commit Graph

3725 Commits

Author SHA1 Message Date
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
Samuel Tabor e7736fb5e7 AP_Soaring: Line up on current, not next, nav command. 2020-04-08 09:11:54 +10:00
Samuel Tabor a56b1dadb9 Plane: fix bug with headingLinedUp when loiter.sum_cd was negative. 2020-04-08 09:11:54 +10:00
Tom Pittenger 394fbb1a50 Plane: unified soaring exit behavior: auto heads to next wp, cruise continues cruise heading, FBW to home 2020-04-08 09:11:54 +10:00
Tom Pittenger ce9450846b Plane: fix soaring typo 2020-04-08 09:11:54 +10:00
Tom Pittenger ec8f82422a Plane: move loiter heading init for auto into auto helper, and properly reset it in loiter mode enter 2020-04-08 09:11:54 +10:00
Tom Pittenger fd4b7c823e Plane: improved soaring exit options 2020-04-08 09:11:54 +10:00
Tom Pittenger f397c168e8 Plane: refactor loiter heading exit logic 2020-04-08 09:11:54 +10:00
Tom Pittenger f6396d7a6d Plane: add reason to exit Thermal loiter and adjust LOW alt reaon to cause RTL 2020-04-08 09:11:54 +10:00
Michael du Breuil 9600eea394 Plane: Report what channel is used for rudder arming 2020-04-07 14:01:12 -07:00
Rishabh a9cacc8756 Plane: Logger documentation TimeUS fix 2020-04-07 18:57:01 +10:00
Michael du Breuil 37be15b3cd Plane: When stick mixing is disabled do not apply stick mixing to quadplane modes 2020-04-04 10:12:22 +11:00
Mark Whitehorn cbce94005b Plane: expand description of QTUN.Sscl log message field 2020-04-03 08:36:55 +11:00
Rishabh a76d0e3002 Plane: Remove SONR messages logging 2020-04-01 17:11:48 +11:00
Rishabh ac6b04c21b Plane: Spelling fix in logger documentation 2020-03-31 10:07:50 +11:00
Rishabh aea2cdb0c9 Plane: added logger documentation 2020-03-31 10:07:50 +11:00
Peter Barker ab557662cc Plane: check channel space before sending servo output raw in SITL CPU failsafe 2020-03-26 15:12:50 +11:00
Henry Wurzburg 4d2c5ebbaa ArduPlane: update logger meta-data, add to gitignore 2020-03-25 14:20:53 +11:00
Andrew Tridgell bd341691e2 Plane: fixed flaperon auto-trim
fixed direction of flaperon automatic trim with SERVO_AUTO_TRIM
2020-03-23 15:20:08 +11:00
Peter Barker 383cfb3b11 Plane: remove bad trailing backslashes in log structure definition
These are required in LogStructure as it's a massive #define.  This is
just a plane C struct definition so doesn't need them
2020-03-22 18:35:14 +11:00
Henry Wurzburg 3914ae23ca ArduPlane: fix typos in logger message meta-data 2020-03-22 10:04:53 +11:00
Peter Barker 9bc6790723 Plane: add CTUNi QTUN and PIQ? log information 2020-03-21 09:34:43 +11:00
Peter Barker b810a0de23 Plane: add logger documentation for NTUN 2020-03-20 13:05:46 +11:00
Peter Barker 5a7d52fa0d Plane: send SERVO_OUTPUT_RAW message when in cpu failsafe under SITL
This allows us to test that rc inputs are copied to the outputs in CPU
failsafe in autotest
2020-03-20 12:19:21 +11:00
Andrew Tridgell 9f92aad711 Plane: implement get and set target location 2020-03-12 08:36:40 +11:00
Andrew Tridgell 8aaefea2a4 Plane: convert to new get_rpm() API 2020-03-12 08:36:40 +11:00
Peter Barker 4fac8c9e16 ArduPlane: move AP_PARM_KEY_DUMP function up to AP_Vehicle base class
Common to all vehicles now, including Tracker
2020-03-10 11:00:14 +11:00
Henry Wurzburg 7828274c72 Plane: prevent jump to Circle upon Takeoff mode entry unless flying >10s 2020-03-03 18:25:02 +11:00
Andrew Tridgell c6a6427d6a Plane: prevent lidar glitches from triggering land final
this prevents short term lidar glitches from triggering the change
from descend to final in quadplane
2020-02-27 13:15:46 +11:00
Randy Mackay f2ab428cdd Plane: rename update_throttle_mix
was called update_throttle_thr_mix
also minor format fixes
2020-02-25 16:52:40 +09:00
Peter Barker 5ff1630c63 ArduPlane: move initialisation of serial and gcs to AP_Vehicle 2020-02-25 11:50:55 +11:00
Rishabh 0b01bb531d Plane: Remove unutilized case 2020-02-25 11:02:43 +11:00
Rishabh 30fd915312 Plane: Update CRASH_DETECT param 2020-02-25 11:02:43 +11:00
Gone4Dirt e02a9890b3 Plane: force mission resume on RTL when DO_LAND_START in mission 2020-02-25 10:05:12 +11:00
Andrew Tridgell 2b24e922a7 Plane: updated release notes for 4.0.5beta1 2020-02-23 08:20:50 +11:00
Peter Barker 74dbcac40e ArduPlane: log disarm method 2020-02-22 12:16:29 +11:00
Andy Piper 3832bc455d Plane: dynamic notch setting via FFT 2020-02-22 11:15:37 +11:00
Andy Piper 04792b23a9 ArduPlane: add gyro fft logging 2020-02-22 11:15:37 +11:00
Gone4Dirt e2f3cb7ee8 Plane: Support added for DO_LAND_START FS fix 2020-02-18 21:03:29 +11:00
Peter Barker 19bc60b690 Plane: correct missing EFI parameter docs 2020-02-18 13:28:03 +11:00
Andrew Tridgell cd673b5ffd Plane: updated release notes for 4.0.4 2020-02-16 17:05:18 +11:00
Andrew Tridgell 7a14992cce Plane: reset TECS at end of auto VTOL takeoff 2020-02-16 17:04:07 +11:00
Andrew Tridgell 0bfab20bd0 Plane: fixed a bug in LOITER_TURNS in quadplanes
if NAV_LOITER_TURNS is used with Q_GUIDED_MODE=1 then we would orbit
forever. This ensures we do exit the loiter
2020-02-12 13:52:32 +11:00
Peter Barker 58d45ef04a Plane: let AP_Vehicle handle loop() 2020-02-06 14:41:06 +11:00
Andrew Tridgell 4e457c1ebb Plane: update release notes for 4.0.4beta1 2020-02-05 12:15:52 +11:00
Peter Hall 2898b5e2fb Plane: report FENCE_MITIGATE_NONE 2020-02-04 10:24:33 +09:00
Andrew Tridgell 56044b8b04 Plane: fix for updated mavlink extensions 2020-01-29 08:17:13 +11:00
Peter Barker a5a75e61da ArduPlane: move some common init_ardupilot code up to AP_Vehicle 2020-01-28 11:34:51 +11:00
Peter Barker a45abc7762 Plane: move setup method up to AP_Vehicle base class 2020-01-28 11:34:51 +11:00
Peter Barker de423a945f Plane: move rssi initialisation into init_ardupilot
This makes it the same as Rover and Copter.
2020-01-28 11:34:51 +11:00
Peter Barker e358677f85 Plane: allow NavEKFs to be compiled out 2020-01-21 11:53:18 +11:00
Peter Barker 9364181772 Plane: EKF objects have moved into AP_AHRS_NavEKF 2020-01-21 11:53:18 +11:00
Peter Barker 024c86bdab Plane: let AP_Vehicle base class worry about scheduler delay callback 2020-01-21 11:37:28 +11:00
Peter Hall 807c05c715 Plane: tilitrotor: allow motor test 2020-01-21 10:11:16 +11:00
Peter Hall 90494c9de6 Plane: tailsitter: allow motor test 2020-01-21 10:11:16 +11:00
Andrew Tridgell 3e930baf89 Plane: update release notes for 4.0.3 2020-01-21 08:13:23 +11:00
Andrew Tridgell 671a4d7673 Plane: update release notes for 4.0.3beta2 2020-01-18 21:40:26 +11:00
Andrew Tridgell 1854e73788 Plane: use HAL_PARACHUTE_ENABLED 2020-01-18 13:48:48 +11:00
Andrew Tridgell 2e1b4cadc2 Plane: removed AP_Stats 2020-01-16 20:36:54 +11:00
Peter Hall a2e72de5ae Plane: move to airspeed_estimate with pointer 2020-01-14 22:34:37 -07:00
Peter Hall fbba3f4035 Plane: set_likely_flying in vehicle 2020-01-14 22:34:37 -07:00
Andrew Tridgell a90c16e60e Plane: update for new SRV_Channels parameter conversion call 2020-01-14 14:23:11 +11:00
Peter Barker a74d754720 Plane: AP_Arming now logs arm/disarm events 2020-01-14 11:39:36 +11:00
Tatsuya Yamaguchi 1f9f84044c Plane: allow scripts to get modes 2020-01-14 11:16:29 +11:00
Andrew Tridgell 0f7fbfae77 Plane: update release notes for 4.0.3beta1 2020-01-10 19:41:12 +11:00
Peter Barker a50b777179 ArduPlane: let RC_Channel indicate AUX_FUNC::ARMDISARM needs no initialisation
All users set this.
2020-01-08 18:36:02 +11:00
Henry Wurzburg 040a1b7fbe Plane:fix typo in ARSPD_FBW_MAX param description 2020-01-02 12:00:52 -07:00
Peter Hall 660c9a8a60 Plane: move from FLAP_IN_CHANNEL to RCx_Option 2020-01-01 08:11:01 +11:00
Gone4Dirt 760909d046 Plane: Prevent FS action overiding VTOL land 2019-12-31 11:42:59 +11:00
Andrew Tridgell 56286d8df3 Plane: update release notes for 4.0.2 2019-12-30 14:44:44 +11:00
Andrew Tridgell 77f0810f01 Plane: removed init_vehicle from separate vehicles
use common call from AP_BoardConfig
2019-12-30 13:02:04 +11:00
Andy Piper eca398e7a2 Plane: create generic vehicle management and move runcam to it 2019-12-30 13:02:04 +11:00
Michael du Breuil 7d8005ef27 Plane: Update flaperons for all control modes
Fixes flaperons not working during takeoff, and is generally slightly
easier to reason about
2019-12-24 16:58:46 +11:00
Andrew Tridgell 6d4f4d7a3b Plane: allow negative VFR_HUD throttle 2019-12-24 15:14:03 +11:00
Peter Barker 1db9201a90 Plane: let GCS base class handle proximity and rangefinder messages 2019-12-24 12:08:54 +11:00
Andrew Tridgell 4774c78a12 Plane: update release notes for 4.0.2beta3 2019-12-23 20:26:43 +11:00
Andrew Tridgell 0e79044285 Plane: fixed range check for RC channel 2019-12-20 10:55:14 +11:00
Andrew Tridgell f3dfd62f32 Plane: fixed FS_GCS_ENABL=2 for hearbeat failsafe 2019-12-19 08:34:00 +11:00
Mark Whitehorn 56b2c697d2 Plane: change tailsitter_input to bitmask
update parameter metadata for Q_TAILSIT_INPUT and Q_FRAME_TYPE
2019-12-18 08:33:29 +11:00
Mark Whitehorn c16f3a2cba Plane: simplify body-frame roll axis swapping and constrain yaw rate max 2019-12-18 08:33:29 +11:00
Mark Whitehorn 14fc6c5446 Plane: add logging for tailsitter gainscaling and clean up tailsitter body-frame roll input handling
fix metadata for tailsitter param GSCMSK
rework roll/yaw scaling for body-frame roll options
add constraints on body-frame roll and yaw inputs
move speed_scaler logging into QTUN message
2019-12-18 08:33:29 +11:00
kd0aij 95da094bfe Plane: update tailsitter speedscaling logic
add tailsitter gain scaling option mask and logging
tailsitter qassist bugfix; thanks, @iampete
apply roll limit in tailsitter bodyframe roll control
add define for future exclusion of tailsitter gainscaling debug code/logging
tailsitter bodyframe roll and qacro input scaling bugfixes:
  respect Q_TAILSIT_RLL_MX and roll/yaw scale parameters in bodyframe roll modes
  fix unintended swap of Q_ACRO_RLL/YAW_RATE params in QACRO mode
don't scale motor tilt

Co-authored-by: IamPete1 <33176108+IamPete1@users.noreply.github.com>
2019-12-18 08:33:29 +11:00
giacomo892 1763be2c03 RC_Channel: added LOITER switch for plane 2019-12-17 16:14:53 +11:00
giacomo892 1ee3118bc4 Plane: added RC option for LOITER mode
Handy to have, and much better than use CIRCLE
2019-12-17 16:14:53 +11:00
Andrew Tridgell e27d1e8754 Plane: update release notes for 4.0.2beta2 2019-12-16 19:03:20 +11:00
Andrew Tridgell 43eb664be6 Plane: updated release notes for 4.0.2beta1 2019-12-16 19:03:18 +11:00
Peter Barker 33a0e55b32 Plane: correct duplicate button instance 2019-12-10 09:29:52 +09:00
Peter Barker 1fdb4b429f Plane: use https:// scheme for ardupilot URLs 2019-12-10 07:53:46 +11:00
Peter Barker a567e8bc94 Copter: use https:// scheme for ardupilot URLs 2019-12-10 07:53:46 +11:00
Peter Barker 3547e74991 Plane: move setting of GPS SYS_STATUS bits up to base class 2019-12-05 13:02:19 +11:00
Randy Mackay b3928d3eee Plane: scripting init sends failure message 2019-12-03 12:48:32 +08:00
Peter Barker 71017cb288 Plane: vehicle parent class now instantiates AHRS 2019-12-02 09:16:22 +11:00
Peter Barker 5447992558 Plane: rename system_status as it won't be called from base class 2019-11-27 14:27:53 +11:00
Marian Soban 0a59fed54f Plane: LTM telemetry support 2019-11-26 12:14:13 +11:00
Peter Barker c93d17b4b2 ArduPlane: use enum-class for SRV_CHANNEL_LIMIT_TRIM and friends 2019-11-26 10:17:17 +11:00
Henry Wurzburg f2d8a42de8 Plane: correct crash_detect param description...no manual mode option bit exists 2019-11-23 17:39:06 -08:00
Andrew Tridgell fba5732292 Plane: updated release notes for 4.0.1 2019-11-22 14:56:56 +11:00
Peter Barker 08e18ccdfe Plane: do not trust fence-channel PWM during RC failsafe 2019-11-19 10:59:02 +11:00
Andrew Tridgell d872ca27ce Plane: added dynamic harmonic notch support 2019-11-19 07:08:01 +08:00