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