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