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
Iampete1
75dc0ced10
Plane: Quadplane: remove outdated Z controller reset
2021-04-07 17:37:30 +10: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
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
Hwurzburg
d15e01d390
Plane: fix DO_CHANGE_SPEED airspeed to impact only AUTO and GUIDED modes
2021-03-16 10:09:34 +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
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
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
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
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
Iampete1
004f873dc7
Plane: update Quadplane FRAME_CLASS description
2021-01-26 11:07:36 +09: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
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
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
Iampete1
54ee2c35fb
Plane: rename tailsitter scailing max param to match min and update descriptions
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
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
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
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
Iampete1
42887891be
Plane: tailsitter: make sure alt target is abover current alt
2020-11-17 10:15:27 +11:00
Iampete1
c03de6bdbe
Plane: log Qassist state
2020-11-17 10:15:27 +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
Mark Whitehorn
c054218568
Plane: report quadplane setup errors in config_error loop
2020-11-05 15:04:10 +11:00
Iampete1
5f67f8130b
Plane: tailsitters use Z stopping point on transition
2020-11-04 18:34:00 +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
Mark Whitehorn
85480c8865
Plane: update frame_type parameter description
2020-10-27 10:24:20 +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
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
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
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
Iampete1
abee62abc4
Plane: use throttle in for transition max comparison
2020-08-30 18:19:40 +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
Andrew Tridgell
6466912ac0
Plane: don't crosstrack after AUTO VTOL takeoff
2020-08-04 09:26:08 +10: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
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
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
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
Peter Barker
1206df6f0c
ArduPlane: remove use of Vector2 as function
2020-06-16 11:00:44 +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
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
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
Andrew Tridgell
d0a509eef1
ArduPlane: invalidate param count when changing param tree structure
2020-04-29 07:36:55 +10: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
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
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
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
74dbcac40e
ArduPlane: log disarm method
2020-02-22 12:16:29 +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 Hall
a2e72de5ae
Plane: move to airspeed_estimate with pointer
2020-01-14 22:34:37 -07:00
Gone4Dirt
760909d046
Plane: Prevent FS action overiding VTOL land
2019-12-31 11:42:59 +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
Peter Barker
1fdb4b429f
Plane: use https:// scheme for ardupilot URLs
2019-12-10 07:53:46 +11:00
Andrew Tridgell
36baaeb3a0
Plane: added option to run idle governor in MANUAL mode
...
useful for quadplane testing
2019-11-17 20:10:54 +11:00
Andrew Tridgell
e5bad28f1d
Plane: added Q_ASSIST_ALT parameter
...
this allows for quadplane assistance in fixed wing modes when the
aircraft drops below a given altitude. This could help save an
aircraft that is flying badly in fixed wing mode
2019-11-09 20:17:36 +11:00
Andrew Tridgell
680a89671f
Plane: fixed doc path for Q_AUTOTUNE
2019-11-01 09:31:40 +11:00
Leonard Hall
87b49c64f8
Plane: limit ATC_MOT_MIX_MAX in case of a fly away
2019-10-31 12:23:48 +08:00
Michael du Breuil
ee96ec7f0d
Plane: Support new AP_Vehicle::set_mode
2019-10-25 08:48:22 +08:00
Randy Mackay
edb5f05339
Plane: minor comment changes
2019-10-22 07:15:48 +08:00
Mark Whitehorn
1a2abae902
Plane: reduce QTUN log rate to 25Hz
2019-10-20 06:24:46 +11:00
sas
9405fd6958
Plane: remove unused location argument to control_auto
2019-10-08 10:49:51 +11:00
Michael du Breuil
f9580424f6
Plane: Resore old default behaviour for throttle curves
...
The change in this made QStabilize behave very differently then it had,
which is quite shocking in a test flight.
2019-10-07 21:17:07 +11:00
Andrew Tridgell
db4ae9ff24
Plane: check airspeed and active Z controll for hover learning
2019-10-04 14:01:08 +10:00
Andrew Tridgell
5c43b18672
Plane: fixed height_above_ground() for case when rangefinder is below min
...
this prevents a rangefinder that goes below min distance from causing
the calculations that depend on height above ground to fail
2019-09-17 09:36:26 +10:00
Andrew Tridgell
34b0967d09
Plane: prevent fwd motor from spinning up on ground in quadplane landing
...
if the rangefinder starts to measure below it's min range then the fwd
motor can spin up.
Thanks to Josh for reporting this!
2019-09-17 09:36:26 +10:00
Andrew Tridgell
7751352a86
Plane: implement VTOL landing for AFS termination
...
this allows for vertical landing as an AFS_TERM_ACTION
2019-09-12 09:59:17 +10:00
Mark Whitehorn
788e7a840c
Plane: default angle_boost to disabled for tailsitters
2019-09-12 09:05:42 +10:00
Michael du Breuil
4f22dff14d
Plane: Add an airspeed limit for quadplane takeoffs
2019-09-09 22:06:25 -06:00
Michael du Breuil
77afcf6a1b
Plane: Abort takeoffs that take to long to complete
2019-09-09 22:06:25 -06:00
Henry Wurzburg
7178655cbe
Plane: fixed landing after VTOL loiters
2019-09-10 08:57:13 +10:00
Leonard Hall
34da437266
Plane: support for upgrade to PID object
2019-07-25 17:38:15 +09:00
Leonard Hall
157f786adf
Global: rename desired to target in PID info
2019-07-25 17:38:15 +09:00
Michael du Breuil
22598b1a4b
Plane: Reduce inerital nav dependence
2019-07-16 12:11:42 +09:00
Hwurzburg
44f6f7335e
Plane: Added Quadplane option for QRTL failsafe action
2019-07-05 11:25:56 +10:00
IamPete1
76663d66e8
Plane: support bicopter tiltrotors
2019-07-02 10:15:17 +10:00
1iggy2
220176f283
Plane: added octa I frame
2019-06-04 09:49:44 +09:00
Peter Barker
400aa53654
Plane: move arming-related functionality into parent classes
...
Logging moves up
arming via mavlink moves up
arming via switch moves up
2019-05-30 07:37:30 +09:00
Mark Whitehorn
34a1cf9528
Plane: move callback setup to QuadPlane::setup()
2019-05-08 10:28:42 +10:00
Mark Whitehorn
aeaff72e14
Plane: fix acro stabilization check
2019-05-08 08:44:52 +10:00
Mark Whitehorn
4a7ce1b384
Plane: clean up qacro
2019-05-08 08:44:52 +10:00
Mark Whitehorn
dd50d435ab
Plane: limit bodyframe roll mode to tailsitters
2019-04-30 08:51:24 +10:00
Mark Whitehorn
f054301ec2
Plane: add QACRO roll/pitch/yaw rate params
2019-04-23 09:46:38 +10:00
Mark Whitehorn
8bcf2439ad
Plane: quadplane stabilize manual throttle midpoint and expo
...
move throttle curve logic to AP_Math
use parameter THROTTLE_EXPO in get_pilot_throttle
2019-04-23 09:46:38 +10:00
Mark Whitehorn
b515431008
AP_Math: add expo and throttle_curve functions
2019-04-23 09:46:38 +10:00
Pierre Kancir
65b4ba0539
ArduPlane: use past_interval_finish_line and line_path_proportion from Location
2019-04-23 09:20:43 +10:00
Peter Barker
f09822a400
Plane: adjust for desired spool state and spool state renames
2019-04-14 12:18:03 +09:00
Pierre Kancir
d8990a002e
Plane: update locations_are_same to same_latlon_as
2019-04-08 08:05:05 -07:00
Pierre Kancir
47141562c0
ArduPlane: use get_distance_NE instead of location_diff
2019-04-08 08:00:52 -07:00
Leonard Hall
2daa5ffb9e
Plane: replace set_throttle_out_unstabilized
2019-04-08 09:42:21 +09:00
Tom Pittenger
ade6281923
Plane: use #if ADVANCED_FAILSAFE == ENABLED just like Rover and Copter
2019-04-03 17:46:50 -07:00
Tom Pittenger
0270c57530
Plane: massive refactor and creation of Mode class
2019-04-02 16:28:52 +11:00
Mark Whitehorn
e0765747e7
Plane: add new tailsitter bodyframe roll option
2019-03-26 14:50:37 +11:00
Mark Whitehorn
825055d736
Plane: add rate-only option for QACRO mode
2019-03-19 10:13:59 +11:00
Mark Whitehorn
6414f0e48e
Plane: skip plane assignments in QACRO
2019-03-19 10:13:59 +11:00
Andrew Tridgell
2b6210d594
Plane: use WP height for height above ground in vtol landing
...
this allows for landings above or below the takeoff height without
requiring the use of terrain data. It allows both the use of vfwd
motor for holding against wind, and the correct height for land final
descent rate
2019-03-18 14:47:27 +11:00
Andrew Tridgell
b4103d04cc
Plane: never use vfwd motor if vtol motors shutdown
2019-03-18 13:38:41 +11:00
Andrew Tridgell
7908ad437e
Plane: allow fwd motor to run in VTOL land hor positioning
...
this fixes an issue with vtol landings below the takeoff point
2019-03-18 13:38:41 +11:00
Peter Barker
ca7566fff9
Plane: use enum class for ArmingMethod and ArmingRequired
2019-03-12 19:48:14 +11:00
Peter Barker
cbb0bfb809
Plane: is_flying_vtol: if spool mode is shut down we are not flying
...
The subsequent check for get_throttle passes if you switch from QHOVER
to MANUAL on the ground while armed. get_throttle returns > 0.01 - but
the motors are shut down so no output occurs.
2019-03-12 10:21:11 +11:00
Mark Whitehorn
4a6b97828f
ArduPlane: add tailsitter input type TAILSITTER_INPUT_BF_ROLL
2019-03-06 15:48:51 +11:00
Mark Whitehorn
01d6f1d932
ArduPlane: add body-frame yaw mode for tailsitters
2019-03-06 15:48:51 +11:00
Mark Whitehorn
6e4a2b97f9
ArduPlane:add subclass for copter tailsitters
...
cleanup and add tailsit_motmx
add constexpr and motor mask check
add support for tricopter tailsitter
don't call output_motor_mask unless armed
fix whitespace
2019-03-06 07:53:46 +09:00
Mark Whitehorn
487ad7a90f
Plane: add QACRO mode for quadplanes
...
use acro_r/p/y_rate params in qacro
port ACRO throttle handling from copter
handle non-tailsitter controls
2019-03-05 10:13:20 +11:00
IamPete1
f24c6785f2
Plane: add E-stop
2019-02-27 08:51:24 +09:00
Andrew Tridgell
136e10a781
Plane: handle VTOL landing with incorrect height
...
if landing above expected height then run landing detector to allow a
switch from LAND_DESCEND to LAND_FINAL
this prevents the plane sitting on the ground until the battery runs
out
2019-02-26 11:12:58 +11:00
Michael du Breuil
b290148ed0
Plane: Don't overwrite the quadplane loiter relax
2019-02-23 11:08:21 +11:00
Michael du Breuil
c15983c690
Plane: prevent loss of control when Q_ENABLE is set while flying
...
Also rename check_throttle_suppression
2019-02-21 21:38:03 -07:00
Michael du Breuil
25a2c77782
Plane: Fix not logging quadplane control, and over logging attitude control
2019-02-22 11:59:26 +11:00
Mark Whitehorn
95b3a5bacd
ArduPlane: implement hover throttle learning for quadplanes
...
disable by default
check quadplane.enable in update_hover_learn
2019-02-16 19:04:13 -08:00
Mark Whitehorn
b9f3118374
Plane: allow changing Q_TRIM_PITCH in flight
...
change float comparison to is_equal
2019-02-12 09:42:19 +11:00
Michael du Breuil
df1632054e
Plane: Update throttle mix
2019-02-05 11:05:54 +11:00
Andrew Tridgell
28cf9d2f24
Plane: allow rudder at zero throttle
...
if rudder disarming is disabled
2019-02-03 05:02:07 -08:00
Randy Mackay
4d5e13f1d4
Plane: : integrate AC_WPNav::get_speed rename to get_default_speed
2019-01-31 19:34:32 +09:00
Mark Whitehorn
5c81a78c9c
Plane: tailsitter forward transition bugfix
2019-01-22 12:55:47 +11:00
Peter Barker
40856fef56
Plane: remove vestiges of old PX4_MIXER code
2019-01-19 19:31:03 +11:00
Peter Barker
6fc76a32af
GLOBAL: use AP::logger() and strip redundant Log_ from methods
2019-01-18 18:08:20 +11:00
Peter Barker
b47733142f
GLOBAL: rename DataFlash_Class to AP_Logger
2019-01-18 18:08:20 +11:00
Randy Mackay
2650b1fe93
Plane: desired-ground-idle replaces spin-when-armed
2019-01-15 11:41:44 +09:00
Andrew Tridgell
f35cebcca4
Plane: fixed EKF yaw reset
...
we need to do the yaw reset before updating the rest of quadplane, or
it is not effective
thanks to Leonard for noticing the bug!
2019-01-14 08:32:17 +11:00
Andrew Tridgell
53a1d98b68
Plane: fixed VTOL takeoff to ignore lat/lon in mission
...
we should always takeoff vertically
2019-01-11 13:48:45 +11:00
Michael du Breuil
d6cac4b52a
Plane: Add a failure timer for quadplane forward transitions
...
Falls over to QLAND if we fail to transition
2019-01-08 10:52:12 +11:00
IamPete1
9c2db806f3
Plane: add units to Q_VFWD_ALT
2018-12-28 16:15:41 +11:00
Andrew Tridgell
9117dcc54b
Plane: don't log QTUN when VTOL not active
2018-12-21 22:17:52 +11:00
Andrew Tridgell
d3afc9424a
Plane: make QTUN logging match copter logging
2018-12-21 22:17:52 +11:00
Andrew Tridgell
1013eddfce
Plane: use AHRS_View for RATE logging
2018-12-21 22:17:52 +11:00
Randy Mackay
a96c1566ec
Plane: fix quadplane pos control param docs
2018-12-18 12:01:07 +00:00
Michael du Breuil
1a45755ffd
Plane: Support a different landing radius for quadplane fw approach
2018-12-18 10:11:22 +11:00
Nikhil Upadhye
d1e93bae83
Plane: adding new mode QAUTOTUNE
...
copter like autotune support for quadplanes and tailsitter in VTOL mode.
cleanup
2018-12-14 16:33:11 +11:00
Randy Mackay
71708ee4ea
Plane: quadplane uses set_defaults_from_table
2018-12-06 12:23:41 +09:00
IamPete1
c6e70c0454
Plane: add roll limit for tailsitters
...
Quadplane: add tailsitter pitch params
2018-12-01 09:40:07 +11:00
Andrew Tridgell
b6519c88a5
Plane: fixed a bug in Q_ASSIST_ modes for tiltrotors
...
when a tilt-rotor drops below Q_ASSIST_SPEED we need to keep it in the
airspeed wait state until it has regained airspeed, otherwise we will
end up with too low throttle
2018-11-30 18:17:42 +11:00
Leonard Hall
0943ace7a9
Plane: Zero Yaw correction during transition
...
and relax attitude controller when not using lift motors.
2018-11-30 18:16:29 +11:00
Andrew Tridgell
c081ce9adb
Plane: don't relax attitude controllers for tailsitters
...
this fixes an issue with testing control movement when disarmed
2018-11-30 13:01:53 +11:00
Andrew Tridgell
da69bf3391
Plane: added an abstraction for reverse thrust
...
use have_reverse_thrust() and get_throttle_input()
2018-11-16 08:33:35 +11:00
Andrew Tridgell
c59b2c156a
Plane: fixes for Q_TRIM_PITCH
...
improved documentation and variable names
2018-11-12 17:05:04 +11:00
IamPete1
5a7bd61e8c
Quadplane: add trim params
2018-11-12 17:05:04 +11:00
Michael du Breuil
8e906e0ba0
Plane: Add support for a loiter to alt approach to VTOL landing
2018-11-10 18:58:54 +11:00
Peter Barker
4e3e39a3e8
Plane: make libraries get EKF control limits themselves
2018-10-09 10:47:38 +11:00
Michael du Breuil
02d37d43d2
Plane: Disallow climbs during TRANSITION_AIRSPEED_WAIT
2018-10-02 09:35:47 +10:00
Michael du Breuil
b2ef6b901e
Plane: Cope with AC_PosControl renaming
2018-09-20 15:15:45 -07:00
Michael du Breuil
b6efc8a20b
Plane: reduce some copy pasted code
2018-09-20 13:47:21 -07:00
Leonard Hall
13c27e0eb8
Plane: Missing Loiter Init on accel
2018-09-19 17:29:55 +09:00
Andrew Tridgell
5136b90d27
Plane: do attitude relax after 100ms
2018-09-15 11:00:29 +10:00
Leonard Hall
7372a7b5f9
QuadPlane: Remove repeat I term reset
2018-09-15 11:00:29 +10:00
Andrew Tridgell
ef154cf3fa
Plane: fixed relaxing of attitude controller on transition
...
this fixes an issue found by Leonard where the attitude controller
could have residual control left over from a previous transition when
engaging the VTOL attitude controller
2018-09-15 11:00:29 +10:00
Michael du Breuil
f9e56f9d12
Plane: Respect frame type on VTOL_TAKEOFF commands
...
allow missioncommands to fail to start
2018-09-11 06:42:00 +10:00
Michael du Breuil
925d76bb8c
Plane: Small cleanup to quadplane const (and clarity)
2018-09-04 15:11:41 +10:00
Leonard Hall
e11c7c6069
QuadPlane: remove true from init of loiter
2018-09-04 13:37:28 +09:00
Michael du Breuil
3d923d0572
Plane: Send a quadplane version of NAV_CONTROLLER_OUTPUT
2018-08-07 09:49:01 +10:00
Andrew Tridgell
16c7ab81dc
Plane: pass rc_speed to motor backend constructors
...
this sets the right speed as early as possible
2018-07-28 15:25:57 +10:00
IamPete1
20c67019b0
Plane: added Q_TAILSIT_THSCMX
...
this provides more flexibility in tailsitter throttle scaling
2018-07-19 09:48:25 +10:00
Andrew Tridgell
d8a7618e15
Plane: update use of AC_Loiter controller for quadplane
...
this changes the way the loiter controller is initialised for QLOITER,
after discussions with Leonard.
The way we were doing it could cause a sudden acceleration demand when
switching into QLOITER.
This also changes the default loiter parameters to reduce the maximum
acceleration that will be applied in QLOITER. Many thanks to Leonard for
the advice
2018-06-11 08:40:58 +09:00
Andrew Tridgell
d07f8aa42b
Plane: fixed a bug in transition to QSTABILIZE for tailsitters
...
this bug was found bug Marco on his tailsitter. It resulted in zero
throttle for 2s in transition from FBWA to QSTABILIZE
2018-04-25 18:01:12 +10:00
Randy Mackay
840a6e4147
Plane: quadplane uses AC_Loiter
...
includes param conversion
2018-04-04 10:45:10 +09:00
Peter Barker
f6a185a3c3
Plane: factor vehicle's mavlink send_heartbeat
2018-04-03 13:05:19 +01:00
Randy Mackay
548a7f8fcf
Plane: add minor comment to quadplane
2018-03-16 13:50:57 +09:00
Leonard Hall
ee745d2cd2
Plane: quad plane uses rate-control control during transitions
2018-03-16 13:50:57 +09:00
Leonard Hall
a16d4ddad7
Plane: quadplane uses poscontrol instead of loiter
2018-03-16 13:50:57 +09:00
Randy Mackay
c5d838125b
Plane: quadplane logs PSC message
2018-03-16 13:50:57 +09:00
Randy Mackay
09cad7c59d
Plane: quadplane integrates attitude control inertial_frame_reset
2018-03-16 13:50:57 +09:00
Randy Mackay
03c162432e
Plane: quadplane provides dt to AC_WPNav::set_pilot_desired_acceleration
2018-03-16 13:50:57 +09:00
Randy Mackay
a0a9a68fbc
Plane: quadplane smoothing gain replaced by Q_A_INPUT_TC
...
Q_A_INPUT_TC parameter allows this to be tuned and a single value (which defaults to a value between the two previously used values) is used for all modes
2018-03-16 13:50:57 +09:00
Leonard Hall
aa47b19dea
Plane: remove quadplane calls to multicopter poscontrol's freeze_ff_xy
2018-03-16 13:50:57 +09:00
Randy Mackay
ddcd08d6b6
Plane: PSC_ACCZ param name shortened
2018-01-31 08:48:21 +09:00
Michael du Breuil
aec7521da4
Plane: Fix truncation of a time interval
...
Truncating the a millisecond time delta to uint16_t causes it to wrap
every 65 seconds, which could momentarily reset the desired climb rate
2018-01-25 14:30:49 +11:00
Randy Mackay
d579e086cf
Plane: quadplane param index comment for moved PIDs
2018-01-24 21:14:53 +09:00
Andrew Tridgell
20b05e4228
Plane: added conversion code for PID layout change
...
this copes with the move of multicopter PIDs inside the position
controller
2018-01-24 18:23:59 +11:00
Randy Mackay
7b1157e2d8
Plane: remove setting accel_z PID controller's dt
...
This is handled within pos-controller's set_dt function
2018-01-23 12:00:43 +09:00
Randy Mackay
f41f4dc6e5
Plane: move pos-control pids to pos-control library
2018-01-23 12:00:43 +09:00
Randy Mackay
017e71a748
Plane: quadplane velocity pi moves to position control library
2018-01-23 12:00:43 +09:00
luweikxy
25224cd261
Plane: remove dead code from do_vtol_land
2017-12-14 20:52:18 +09:00
Andrew Tridgell
f7a735b990
Plane: fixed transitions for tailsitters after auto-takeoff
...
need to use angle wait
2017-11-19 16:06:02 +11:00
Andrew Tridgell
957c1f6d23
Plane: extend QLOITER transition pitch limit
...
use twice transition time for pitch envelope to reduce QLOITER
transition harshness
2017-11-05 21:35:32 +11:00
Andrew Tridgell
9c8cd6c1cc
Plane: added Q_TRANS_DECEL
...
this gives a deceleration rate for QRTL transition from RTL, and also
for transitions to QLOITER
2017-11-05 20:44:42 +11:00
Andrew Tridgell
e27c54a312
Plane: smooth out fwd tailsitter transition
...
use Q_TRANSITION_MS and the transition angle to pitch forward more
slowly
2017-11-05 17:25:00 +11:00
Michael du Breuil
d52f5155f0
Plane: Rename rc failsafe state members
2017-11-02 16:46:08 -07:00
nick2204
7d91755bd1
Plane: update Q_OPTIONS docs
...
Made q_options description a little clearer
2017-11-01 09:38:42 +11:00
Andrew Tridgell
1085069851
Plane: use WP_LOITER_RAD if RTL_RADIUS is 0 for QRTL
2017-10-30 16:52:19 +11:00
Andrew Tridgell
552faa8f67
Plane: smoother tailsitter transitions
...
this smooths out tailsitter transitions in both directions, adding a
new FW to VTOL transition state
2017-10-30 16:30:38 +11:00
Andrew Tridgell
af893ddde7
Plane: implement Q_OPTIONS
...
this allows for NAV_TAKEOFF to be treated as NAV_VTOL_TAKEOFF in
quadplanes, and for level flight to be maintained during quadplane
transitions
2017-10-30 16:30:10 +11:00
Andrew Tridgell
02f8d888c3
Plane: relax controllers when disarmed
...
this prevents any remaining integrator from a previous flight stage from
affecting flight across a disarm
2017-10-30 16:30:10 +11:00
Andrew Tridgell
92ee05b925
Plane: fixed motor channel handling
2017-10-25 11:39:11 +11:00
Andrew Tridgell
6526ff504d
Plane: fix for changes to AP_Motors API
2017-10-22 15:52:50 +11:00
Andrew Tridgell
e008559b6e
Plane: support LOITER_TO_ALT in quadplanes
2017-10-21 18:50:01 +11:00
Andrew Tridgell
8178ab4037
Plane: make mav_type in HEARTBEAT configurable
...
needed for qgc to setup for quadplanes
2017-10-20 15:41:06 +11:00
Andrew Tridgell
0aed5a9a57
Plane: prevent controller windup on ground
...
when on the ground in an auto-throttle mode lik FBWB or CRUISE, we may
have the throttle suppressed. In that case we should not run the
multicopter controller on quadplanes, or it may build up control which
will then apply on takeoff. This is particularly severe for aircraft
that are not level on the ground, such as taildragger quadplanes
Fixes https://discuss.ardupilot.org/t/quadplane-flips-on-takeoff/22095
many thanks to Sriram for reporting
2017-10-20 15:41:04 +11:00
Andrew Tridgell
1a95dcbdd7
Plane: update docs for Q_YAW_RATE_MAX
2017-10-20 15:40:58 +11:00
Andrew Tridgell
f5b4d8d99c
Plane: added frame type 11 for FlreFlyY6
2017-10-06 11:36:34 +11:00
Ferruccio Vicari
85ab3edc5f
Plane: Smoother transition to QLOITER and QLAND
...
Use estimated stopping position
2017-09-21 07:57:38 +10:00
mirkix
7c6be7c421
Plane: change format of reset alt target message
2017-09-20 20:28:53 +10:00
mirkix
b682f3f6d9
Plane: fix parameter units
2017-09-19 11:34:26 +10:00
Andrew Tridgell
35c1a732a6
Plane: allow takeoff in guided then fw loiter
...
this allows for quadplane takeoff in GUIDED with Q_GUIDED_MODE=0. The
takeoff will be VTOL, but subsequent guided points will be fixed wing
2017-09-18 10:21:53 +10:00
Tom Pittenger
85b7f1bbb4
Plane: guided takeoff success should return true
2017-09-13 14:46:22 -07:00
Andrew Tridgell
600a5c44d2
Plane: allow changing of target altitude in GUIDED
2017-09-09 08:14:09 +10:00
Andrew Tridgell
bc17c26dbf
Plane: limit pitch in transition to QLOITER and QLAND
...
when switching to QLOITER or QLAND when in forward flight, limit the
maximum pitch to prevent a sudden decelleration
2017-09-09 08:14:09 +10:00
Andrew Tridgell
b6809655d4
Plane: smooth the transition to LAND_FINAL in quadplanes
...
this makes for a much smoother change to LAND_FINAL, without a jerk as
it changes vertical speed
2017-09-09 08:14:09 +10:00
Andrew Tridgell
8411ac5c57
Plane: fixed a problem with descent rate in landings for quadplanes
...
use xy controller instead of xyz controller, which prevents calling z
controller twice, which led to poor height control
2017-09-09 08:14:09 +10:00
Andrew Tridgell
baee71a5b4
Plane: added GUIDED takeoff for quadplanes
...
this allows takeoff in GUIDED mode in the same way as copters
2017-09-09 08:14:09 +10:00
Andrew Tridgell
a88e663191
Plane: adjust target altitude slowly in QRTL mode
...
this fixes a sudden throttle drop when starting the descent in QRTL mode
thanks to Marco for finding this issue
2017-09-07 07:22:13 +10:00
Andrew Tridgell
909f109b3f
Plane: don't start a transition while disarmed
...
this can caused flooding of the GCS console while disarmed in FBWA
mode
2017-07-30 12:39:36 -07:00
Peter Barker
c058fba5ac
Plane: eliminate GCS_MAVLINK::send_statustext_all
2017-07-11 23:53:53 +01:00
Peter Barker
5a8f01c19c
Plane: use send_text method on the GCS singleton
2017-07-09 17:17:29 -04:00
Pierre Kancir
5d0972f589
Arduplane: fix implicit cast to double warning in quadplane
2017-06-14 12:40:47 +01:00
Andrew Tridgell
1455c23230
Plane: fixed docs for tailsitter
2017-06-10 18:41:34 +10:00
Dr.-Ing. Amilcar Do Carmo Lucas
2f5f8eb323
Plane: Use SI units conventions in parameter units
...
Follow the rules from:
http://physics.nist.gov/cuu/Units/units.html
http://physics.nist.gov/cuu/Units/outside.html
and
http://physics.nist.gov/cuu/Units/checklist.html
one further constrain is that only printable (7bit) ASCII characters are allowed
2017-05-17 18:07:25 +10:00
Andrew Tridgell
6eaad59115
Plane: improve vectored tailsitter takeoff
...
this gives extra pitch input when taking off a vectored tailsitter,
allowing the motors to point straight up for easy takeoff
thanks to Leonard for the idea!
2017-05-07 09:10:44 +10:00
Andrew Tridgell
7ea0f65590
Plane: removed incorrect comment
2017-04-24 16:56:23 +10:00
Andrew Tridgell
06b0742481
Plane: fixed jump in qhover on takeoff
...
Z controller PID is from -1 to 1
thanks to Leonard for spotting this
2017-04-24 16:55:41 +10:00
Andrew Tridgell
aab20317a0
Plane: fixed position control in QLAND_FINAL
2017-04-24 16:55:41 +10:00
Andrew Tridgell
b1f1ace736
Plane: support vectored yaw tiltrotors
...
this adds support for tiltrotors which control yaw by vectoring the
forward motors. This avoids the need for the rear motor on a
tilt-tricopter to have a tilt servo
2017-04-24 16:54:41 +10:00
Andrew Tridgell
2d9c3e3d93
Plane: added EKF yaw reset handling to quadplane
...
this follows the implementation from copter. Thanks to Leonard for the
suggestion
2017-04-24 16:52:16 +10:00
Andrew Tridgell
88e02c7b35
Plane: log the throttle mix for quadplane copter control
2017-04-19 09:08:43 +10:00
Andrew Tridgell
d5ec7b0aad
Plane: fixed a sign error in the angle assist code
...
thanks to Leonard for finding this!
2017-04-18 22:09:22 +10:00
Andrew Tridgell
b15b11e32d
Plane: always stabilize with tailsitters
2017-04-14 12:48:08 +10:00
Andrew Tridgell
46d910539c
Plane: fixed a warning
2017-04-11 17:34:40 +10:00
Andrew Tridgell
642a6acfcb
Plane: support thrust vectoring in tailsitters
...
adds Q_TAILSIT_VHGAIN and Q_TAILSIT_VFGAIN, allowing for thust
vectoring in both fixed wing and hover
2017-04-11 17:34:40 +10:00
Andrew Tridgell
664e41cec6
Plane: bring in demanded climb rate over 1 second
...
when we engage the Z controller in quadplane we bring in the climb
rate slowly to prevent a sudden change in motor demand
2017-04-09 16:45:19 +10:00
Andrew Tridgell
0cf571d338
Plane: moved Z altitude target reset
...
reset alt target whenever we have not run Z controller for 2s
2017-04-09 16:45:19 +10:00
Mark Whitehorn
7679b758b0
Plane: add parameter RUDD_DT_GAIN for dual motor tailsitter
...
controls rudder to differential thrust mixing in FW mode
2017-04-06 08:29:44 +10:00
Andrew Tridgell
acaef22416
Plane: improve transition from QSTABILIZE to FBWA or QHOVER
2017-04-05 20:00:29 +10:00
Andrew Tridgell
36d8f730e1
Plane: setup better defaults for tailsitters
2017-04-04 10:15:08 +10:00
Andrew Tridgell
5d06e4238f
Plane: make the quadplane motors var_info dynamic
...
this will allow for more quadplane motors class types
2017-03-25 16:22:10 +11:00
Andrew Tridgell
af97a3974b
Plane: initialise target height correctly on quadplane transition
...
this fixes a bug where a plane in QSTABILIZE would drop suddenly if
switched to FBWA when the target altitude had not been initialised
2017-03-22 21:34:40 +11:00
Andrew Tridgell
bb158a437e
Plane: handle bad Q_FRAME_CLASS
...
default to quad with a warning. This prevents users getting stuck
without being able to set Q_ENABLE=1
thanks to Leonard for noticing
2017-03-18 22:10:20 +11:00
Andrew Tridgell
3f7e7d456f
Plane: in fixed wing mode slave quadplane attitude rate controller
...
For quadplanes this uses the attitude controller from fixed wing
when using the multicopter controller to assist fixed wing
flight. This prevents a rate mismatch between the two controller
leading to oscillation
2017-03-14 14:42:20 +11:00
Andrew Tridgell
2db8589f49
Plane: smarter Z controller initialisation for quadplanes
...
this is more generic than the previous one used only for the full
position controller
2017-03-14 14:42:20 +11:00
Andrew Tridgell
4ff5bf5af5
Plane: zero integrators and set throttle mix
...
this zeros fixed wing integrators during TRANSITION_AIRSPEED_WAIT and
uses a zero throttle mix during TRANSITION_TIMER. This should allow
the fixed wing controller more time to adapt to forward flight
2017-02-26 09:20:51 +11:00
Andrew Tridgell
c061d5615b
Plane: added manual input mask for tailsitter prop-hang
...
This adds new parameters Q_TAILSIT_MASK and Q_TAILSIT_MASKCH. These
parameters allow a user to use the tailsitter capabilities of a 3D
plane to teach themselves to prop-hang.
It works by allowing the user to setup a switch on their transmitter
to enable manual pass-thru of a set of the input channels to outputs
when in tailsitter hover. The user can then use that switch to allow
learning of hover control in a 3D plane one channel (or two channels)
at a time.
2017-02-26 09:20:13 +11:00
Andrew Tridgell
3bb25eb194
Plane: added Q_TAILSIT_INPUT
...
this allows the user to control tailsitters either in body frame (like
a plane) or in earth frame (like a multicopter). This is useful for
people wanting to learn to fly prop-hang on 3D planes
2017-02-26 09:20:13 +11:00
Andrew Tridgell
ea5186340b
Plane: added Q_TILT_RATE_UP and Q_TILT_RATE_DN as separate parameters
...
allow control of tilt rate separately for UP and DOWN
always allow at least 90 degrees/second for switching to MANUAL
2017-02-25 17:53:26 +11:00
Andrew Tridgell
e8b11924f8
Plane: split out the tailsitter transition complete code
...
use both roll and pitch to trigger completion of transition. This
copes with situations where the plane has managed to get itself rolled
over far enough that it can't recover into hover
2017-02-18 17:26:43 +11:00
Andrew Tridgell
d5a3f844f1
Plane: changes for AC_WPNav
2017-02-18 17:26:43 +11:00
Andrew Tridgell
c787f4c56f
Plane: initial support for tailsitter transitions
2017-02-18 17:26:43 +11:00
Andrew Tridgell
83f3cee99e
Plane: initial hooks for tailsitter support
2017-02-18 17:26:43 +11:00
Andrew Tridgell
0fc04b0158
Plane: setup plane frame type parameter flags
2017-02-14 19:50:01 +11:00
Andrew Tridgell
c294519925
Plane: lower default Q_M_SPOOL_TIME to 0.25
2017-02-14 09:23:17 +09:00
priseborough
013eb254a2
Plane: use standard unit descriptor for milliseconds
2017-01-27 16:57:42 +09:00
Andrew Tridgell
07cedd8a66
Plane: prevent stability shutdown in transition
...
this prevents the vertical motors from shutting down while
transitioning if the desired throttle was too low at the start of the
transition
2017-01-25 19:01:15 +11:00
Andrew Tridgell
0d4405106f
Plane: removed forcing of trim for motors in quadplane
...
this caused problems with tricopter tail servos
2017-01-25 19:01:15 +11:00
Andrew Tridgell
5c820adad4
Plane: fixed tilt transition with binary tilt servo
...
once the tilt is fully fwd then force transition as done at any
airspeed
2017-01-25 19:01:15 +11:00
Andrew Tridgell
586f8a9ca8
Plane: fixes for tilt quadplane after rebase
2017-01-25 19:01:15 +11:00
Andrew Tridgell
54bca768b8
Plane: added Q_TILT_TYPE for retract servo tiltrotors
2017-01-25 19:01:15 +11:00
Andrew Tridgell
2f100b0804
Plane: removed separate tricopter quadplane build
...
can all be done with one build now
2017-01-12 17:39:37 +11:00
Andrew Tridgell
b83f50be0f
Plane: use new SRV_Channels API
2017-01-12 17:39:37 +11:00
Andrew Tridgell
1c4bf77cf6
Plane: added custom conversion of Q_FRAME_CLASS parameter
2016-12-31 10:56:01 +09:00
Randy Mackay
934ef55338
Plane: quadplane instantiates motor matrix outside of case
...
Thanks to khancyr for noticing this
2016-12-31 10:55:23 +09:00
Randy Mackay
c6dec5c3f6
Plane: quad plane uses consolidated multicopter classes
2016-12-31 10:55:23 +09:00
Pierre Kancir
da1f784e78
Plane : quadplane change to float to avoid the loss of a fractional part
2016-12-05 12:39:31 -08:00
Tom Pittenger
f556f705e6
Plane: move various g params to aparms
2016-11-25 19:07:30 -08:00
expntly
0d1e50b50b
Plane: fix typo, check wp_nav is initialized
2016-10-27 14:39:50 +11:00
Mathieu OTHACEHE
152edf7189
Global: remove mode line from headers
...
Using a global .dir-locals.el file is a better alternative than
reincluding the same emacs header in every file of the project.
2016-10-24 09:42:01 -02:00
Andrew Tridgell
0445b51143
Plane: fixed throttle slew rate in manual for quadplanes
2016-10-12 09:55:37 +11:00
murata
b3eecb87ac
Plane: To define the same wording.
2016-10-06 10:03:23 -07:00
Andrew Tridgell
cb61840ad2
Plane: tell TECS to use synthetic airspeed during transition
2016-10-05 11:52:52 +11:00
Andrew Tridgell
4e017bf5b3
Plane: fixed loiter mode when Q_GUIDED_MODE=1
...
This fixes the fixed wing behaviour of LOITER mode whne
Q_GUIDED_MODE=1.
Many thanks to the PertUAV team for finding and reporting this bug
2016-10-01 08:37:17 +10:00
Andrew Tridgell
841828541d
Plane: fixed auto ICE engine cut in QLAND final
2016-09-29 05:18:55 +10:00
Andrew Tridgell
6d09897b19
Plane: fixed VTOL motor termination in AFS
2016-09-27 11:53:45 +10:00
Andrew Tridgell
dac7f45326
Plane: fixed use of multicopter mix_max
...
we need a settable mix_max for some vehicles
2016-09-21 12:23:19 +10:00
Andrew Tridgell
9b83781b4f
Plane: fixed mixer arming error with FMUv4
...
thanks to Tim Gold for reporting this
2016-09-11 08:25:40 +10:00
Andrew Tridgell
6849f2223d
Plane: set initial alt target on takeoff completion
...
this prevents a sudden motor spike at the start of the transition
2016-09-02 11:12:19 +10:00
Randy Mackay
3052e8f80b
Plane: quadplane calls attitude control parameter check
2016-09-02 09:27:19 +09:00
Andrew Tridgell
3d0516fd57
Plane: added Q_ASSIST_ANGLE
...
this automatically provides quadplane assistance if the angular error
is over the given value for 1 second while flying faster than
Q_ASSIST_SPEED
2016-08-30 08:35:18 +10:00
Andrew Tridgell
33f17588b2
Plane: added auto fence enable on VTOL takeoff
...
fixes issue#724
2016-08-29 18:04:42 +10:00
Andrew Tridgell
c81d8364ac
Plane: check for safety switch state in quadplane motor output
...
get_soft_armed() will be false if safety on
2016-08-29 17:55:35 +10:00
Tom Pittenger
ca32bcc58d
Plane: add new flight mode AVOID_ADSB to mimic GUIDED
2016-08-17 22:38:54 -07:00
Andrew Tridgell
b29b609bcc
Plane: added AFS support for quadplanes
2016-08-16 12:56:12 +10:00
Andrew Tridgell
31fb4cc427
Plane: force trims for VTOL motors
2016-08-16 12:53:34 +10:00
Tom Pittenger
fc50f145ce
Revert "ArduPlane: Convert references to AP_Airspeed. Added automatic migration of ARSPD_FBW_MIN and ARSPD_FBW_MAX (plane parameter) to ARSPD_FBW_MIN and ARSPD_FBW_MAX (library parameter)."
...
This reverts commit da1b18d918
.
2016-08-07 17:54:24 -07:00
AndersonRayner
da1b18d918
ArduPlane: Convert references to AP_Airspeed. Added automatic migration of ARSPD_FBW_MIN and ARSPD_FBW_MAX (plane parameter) to ARSPD_FBW_MIN and ARSPD_FBW_MAX (library parameter).
2016-08-04 10:09:04 -07:00
Andrew Tridgell
63317e9430
Plane: added throttle suppression for quadplanes
...
this tries to prevent motor start when on ground. Motors instead go
into spin_when_armed state
2016-08-04 09:43:40 -07:00
Andrew Tridgell
388b7ad6bd
Plane: fixed is_flying_vtol() for non-quadplane
2016-07-27 07:43:16 +10:00
Andrew Tridgell
f65b46385c
Plane: added engine cut on land final in quadplane
2016-07-25 15:46:17 +10:00
Andrew Tridgell
9602d208a2
Plane: fixed disarm by rudder in quadplane
2016-07-25 06:08:36 +10:00
Andrew Tridgell
c926d7d41f
Plane: fixed typo in quadplane landing detector
...
thanks to Paul for spotting this!
2016-07-08 18:38:43 +10:00
Andrew Tridgell
66e43bf6a2
Plane: start with low integrator on back quadplane transition
...
When changing to alt_hold controller in quadplane with significant
airspeed set the initial integrator to minus the hover throttle to
allow the accel controller to climb slowly
2016-06-27 10:18:20 +10:00
Leonard Hall
f1bca63094
Plane: consolidate input_euler_angle calls to use smoothing gain
2016-06-24 17:17:19 +09:00
Randy Mackay
ef1385c9ed
QuadPlane: add comment that eeprom 28 and 41 were used for THR_MIN, MID
2016-06-18 11:55:49 +09:00
Randy Mackay
b456a38432
QuadPlane: remove throttle_mid
...
motor's hover throttle is automatically updated
2016-06-18 11:55:49 +09:00
Randy Mackay
2523ba892b
QuadPlane: set attitude vs throttle priority in attitude controller
2016-06-18 11:55:49 +09:00
Randy Mackay
f2b0f09d6f
QuadPlane: remove THR_MIN
2016-06-18 11:55:49 +09:00
Andrew Tridgell
b1b73e2d99
Plane: improved quadplane landing detector
...
look for no vertical position change for 5s as well as low motors
2016-06-16 18:17:56 +10:00
Tom Pittenger
773962940c
Plane: quadplane for fwd_throttle integrator inhibit reverse thrust and allow min>0 for petrol
2016-06-13 14:31:50 -07:00
Tom Pittenger
b6196dfa92
Plane: compiler warning in print: float to double promotion
2016-06-13 14:03:40 -07:00
Andrew Tridgell
107691b7a7
Plane: fixed initial descent rate in quadplane auto land
2016-06-11 14:37:44 +10:00
Andrew Tridgell
19834c12e2
Plane: log start of quadplane transition
2016-06-10 17:48:32 +10:00
Andrew Tridgell
8156b3f7de
Plane: fixed quadplane landing transition altitude
2016-06-10 17:48:32 +10:00
Andrew Tridgell
07564aa03f
Plane: fixed an attitude control bug in quadplane transition
...
The motors would briefly spike at the end of the transition which
could cause a major pitch deviation
2016-06-10 17:48:32 +10:00
Tom Pittenger
69f29b51d1
Plane: new param Q_VFWD_ALT to disable VFWD motor below this altitude. Also uses rangefinder
2016-06-10 17:48:31 +10:00
Tom Pittenger
b9cee76bbe
Plane: fix quadplane integrator to always clip to at least 0 to throttle_max
2016-06-03 23:46:18 -07:00
Tom Pittenger
82763ec8a9
Plane quadplane to use relative_ground_altitude() to take advantage of rangefinder easier
2016-06-03 23:44:21 -07:00
Andrew Tridgell
77b7852ff0
Plane: adjust recommend ranges for quadplane Q_VFWD_GAIN and Q_WVANE_GAIN
2016-06-04 11:04:15 +10:00
Tom Pittenger
f83a6ca1ff
Plane: fixed variable misspelling
2016-06-02 15:10:51 -07:00
Andrew Tridgell
978a89efa6
Plane: added new ESC calibration method
2016-06-02 18:10:37 +10:00
Andrew Tridgell
ba3576f027
Plane: added tuning error reporting for quadplanes
2016-05-28 17:33:30 +10:00
Andrew Tridgell
b56d784ae4
Plane: limit to zero pitch in quadplane on initial transition
2016-05-28 15:08:46 +10:00
Andrew Tridgell
20cf326093
Plane: lower throttle threshold for quadplane is_flying
2016-05-28 07:10:13 +10:00
Andrew Tridgell
12e0012b16
Plane: allow for NAV_LOITER_UNLIM and NAV_LOITER_TIME in quadplane
2016-05-11 15:57:41 +10:00
Andrew Tridgell
3fc43b94f9
Plane: separate out auto and guided VTOL states
...
this prevents a switch to AUTO from using VTOL mode incorrectly
2016-05-11 15:14:43 +10:00
Andrew Tridgell
52ea443d65
Plane: added Q_THR_MIN
2016-05-11 05:55:26 +10:00
Andrew Tridgell
a61d608915
Plane: fixed numerical error if starting VTOL landing at destination
2016-05-11 05:55:25 +10:00
Andrew Tridgell
357ed1f4b9
Plane: enable weathervaning in GUIDED and TAKEOFF quadplane modes
2016-05-11 05:55:25 +10:00
Andrew Tridgell
6b358a5618
Plane: added Q_GUIDED_MODE parameter
...
this allows you to do hybrid VTOL and fixed wing guided mode
2016-05-11 05:55:25 +10:00
Andrew Tridgell
3bd5b42c69
Plane: refactor quadplane land controller as general VTOL position controller
2016-05-11 05:55:25 +10:00
Andrew Tridgell
46bf2b83f5
Plane: use equal thrust in tiltrotors when over Q_TILT_MAX
2016-05-11 05:55:24 +10:00
Andrew Tridgell
bbb5f68bb7
Plane: added initial support for tiltrotors and tiltwings
2016-05-11 05:55:23 +10:00
Andrew Tridgell
89a2a92885
Plane: support better build time selection of multicopter frame type
...
makes it possible to do "make sitl-tri"
2016-05-11 05:55:22 +10:00
skyscraper
7f29903287
ArduPlane: Fix up after refactoring RC_Channel class
...
Further to refactor of RC_Channel class which included
adding get_xx set_xx methods, change reads and writes to the public members
to calls to get and set functionsss
old public member(int16_t) get function -> int16_t set function (int16_t)
(expression where c is an object of type RC_Channel)
c.radio_in c.get_radio_in() c.set_radio_in(v)
c.control_in c.get_control_in() c.set_control_in(v)
c.servo_out c.get_servo_out() c.set_servo_out(v)
c.pwm_out c.get_pwm_out() // use existing
c.radio_out c.get_radio_out() c.set_radio_out(v)
c.radio_max c.get_radio_max() c.set_radio_max(v)
c.radio_min c.get_radio_min() c.set_radio_min(v)
c.radio_trim c.get_radio_trim() c.set_radio_trim(v);
c.min_max_configured() // return true if min and max are configured
Because data members of RC_Channels are now private and so cannot be written directly
some overloads are provided in the Plane classes to provide the old functionality
new overload Plane::stick_mix_channel(RC_Channel *channel)
which forwards to the previously existing
void stick_mix_channel(RC_Channel *channel, int16_t &servo_out);
new overload Plane::channel_output_mixer(Rc_Channel* , RC_Channel*)const
which forwards to
(uint8_t mixing_type, int16_t & chan1, int16_t & chan2)const;
Rename functions
RC_Channel_aux::set_radio_trim(Aux_servo_function_t function)
to RC_Channel_aux::set_trim_to_radio_in_for(Aux_servo_function_t function)
RC_Channel_aux::set_servo_out(Aux_servo_function_t function, int16_t value)
to RC_Channel_aux::set_servo_out_for(Aux_servo_function_t function, int16_t value)
Rationale:
RC_Channel is a complicated class, which combines
several functionalities dealing with stick inputs
in pwm and logical units, logical and actual actuator
outputs, unit conversion etc, etc
The intent of this PR is to clarify existing use of
the class. At the basic level it should now be possible
to grep all places where private variable is set by
searching for the set_xx function.
(The wider purpose is to provide a more generic and
logically simpler method of output mixing. This is a small step)
2016-05-10 16:21:16 +10:00
Andrew Tridgell
2a7edfd3d1
Plane: fixed setting of failsafe for motors in quadplane
2016-05-07 07:25:33 +10:00
Andrew Tridgell
0fd044c1f7
Plane: added Q_RTL_MODE parameter
...
used to switch to VTOL landing on RTL
2016-04-30 14:34:47 +10:00