Commit Graph

2617 Commits

Author SHA1 Message Date
Andrew Tridgell c76eadf4f6 Plane: add available memory to PM message 2017-03-27 14:35:21 +09: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
Michael du Breuil 649ef0fc16 Plane: Only consider a takeoff as begun if the safety switch has been pressed 2017-03-23 16:55:47 -07: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 e3a8d477f5 Plane: improve tiltrotor transition strategy
avoid running forward motors at high throttle when transitioning to a
VTOL mode
2017-03-14 14:42: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 dd4f56dd98 Plane: added PIQ messages for quadplane PIDs
keep them separate from fixed wing PIDs, so we can watch the
interaction between the PIDs in transitions
2017-03-14 14:42:20 +11:00
Andrew Tridgell 0e175179a6 Plane: log home and origin on logging start 2017-03-14 10:51:15 +11:00
Andrey Kolobov 35d406aeab Plane: added a soaring controller to Arduplane 2017-03-14 08:53:10 +11:00
Michael du Breuil 9e893eacd1 Plane: Change some user facing statustexts 2017-03-08 00:59:56 -08:00
Michael du Breuil 041fe38ba6 Plane: Update build tools for deepstall PID dependency 2017-03-02 12:38:59 +11:00
Michael du Breuil cf10b7b841 Plane: Add support for landing PID's and servo control 2017-03-02 12:38:59 +11:00
Michael du Breuil 1bb806edb2 Plane: Use new landing interfaces 2017-03-02 12:38:59 +11:00
Andrew Tridgell abcc75009d Plane: move relay init earlier
allows relay pins to be used as pullups for other sensors (such as
LidarLiteV3)
2017-03-01 22:44:37 +11:00
Randy Mackay eb746eaeef Plane: fix SYSID_ENFORCE parameter description 2017-02-28 15:08:17 +09:00
Michael du Breuil fbf6050876 Plane: Reset home to AHRS position rather then snapshotting GPS 2017-02-28 11:33:53 +11:00
Randy Mackay c0f155fd27 Plane: use only downward facing rangefinder 2017-02-27 15:18:25 +09: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
Tom Pittenger 4ccd59f394 Plane: allow exiting loiter_to_alt in cases where you get stuck
- check for scenarios where updrafts can keep you from loitering down indefinitely.
2017-02-23 05:15:49 -08:00
Andrew Tridgell a4c5247fba Plane: prepare 3.8.0-beta3
key fix is the servo slew rate bug
2017-02-22 07:25:47 +11:00
Tom Pittenger 69a10042eb Plane: always stream RPM data over mavlink when enabled 2017-02-21 11:16:27 -08:00
Tom Pittenger 67486dc3f0 Plane: always log RPM when enabled 2017-02-21 04:20:01 -08:00
Peter Barker 97145f20fc Plane: fix startup of CLI menu system 2017-02-20 00:06:23 -08:00
Andrew Tridgell 07ab04897d Plane: reset roll/pitch integrators while tailsitter active
this prevents integrator buildup while flying in hover
2017-02-18 22:23:58 +11:00
Andrew Tridgell b3380ecfa7 Plane: support twin-engine planes
with differential thrust for yaw
2017-02-18 17:26:43 +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 4e4f5a7ac9 Plane: allow tailsitters to takeoff with any attitude 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
Peter Barker 1d7994e9ba Plane: create GCS_Plane subclass 2017-02-13 17:03:06 +11:00
Peter Barker 98c4b48161 Plane: not in log download upon log erase
erase is a synchronous operation
2017-02-13 11:36:16 +11:00
Peter Barker 49bf336539 Plane: Support for a GCS singleton 2017-02-13 09:32:01 +11:00
Peter Barker d060670ba3 Plane: rename gcs[] to gcs_chan[]
Wish to use gcs() to return the gcs singleton
2017-02-13 09:32:01 +11:00
Michael du Breuil 29b16dbafd Plane: Refactor to request relative altitudes from AHRS
Removes the need for plane to do the math for finding the relative height.

Also caches the value at the same time we update current_loc, which is a
non behaviour change as that was the only time you could see a change in
the relative height propegate through the system anyways
2017-02-13 09:23:14 +11:00
Michael du Breuil f183a2618f Plane: Don't lock home altitude to AHRS origin 2017-02-13 09:23:14 +11:00
Michael du Breuil 7a1cbf76d3 Plane: Remove ALT_MIX
Closes #4998, and fix a tab/spaces error on the previous parameter
2017-02-13 09:18:52 +11:00
Dr.-Ing. Amilcar Do Carmo Lucas c4419739c4 Plane: rename MSG_RADIO_OUT to MSG_SERVO_OUTPUT_RAW to better describe what it is 2017-02-07 11:41:12 +11:00
Andrew Tridgell 90d9e74054 Plane: fixed parameter path 2017-02-06 15:12:32 +11:00
Andrew Tridgell 287614b415 Plane: fixed auto-takeoff throttle trigger for inverted launch
quite an unusual setup, but has been done :-)
2017-02-01 16:31:49 -08:00
Tom Pittenger 9abb0bba7f Plane: use abs() instead of labs() for int16 2017-01-30 10:43:54 -08:00
Michael du Breuil 2326eee9a0 Plane: Move loiter_radius to vehicle 2017-01-30 10:43:54 -08:00
Andrew Tridgell 5baf37f7a3 Plane: release 3.8.0beta2 2017-01-30 10:29:01 +11:00