Commit Graph

139 Commits

Author SHA1 Message Date
Andrew Tridgell e455ee0a94 Plane: fixed throttle suppression for AUTO_FBW_STEER=1 2013-09-20 17:20:06 +10:00
Andrew Tridgell 1869cd52e1 Plane: fixed AUTO_FBW_STEER stick mixing 2013-09-20 17:20:06 +10:00
Andrew Tridgell 328e900364 Plane: changed TKOFF_THR_DELAY default to 2
this makes it safer for hand launch with pusher props
2013-09-19 21:42:21 +10:00
Paul Riseborough 43cf0736a3 Plane: Auto Takeoff Check updates
Adds additional launch angle protection and protection against early
exit from auto causing unexpected motor start on re-entry
2013-09-19 21:37:31 +10:00
Andrew Tridgell 43ffe91546 Plane: added FS_ACTION of 2 for glide
this allows people without specified settings in their receiver for
failsafe to choose FBWA zero throttle glide on throttle failsafe. That
can be a better choice when flying at a R/C club field
2013-09-15 15:05:39 +10:00
Andrew Tridgell cc6acac1dd Plane: added AUTO_FBW_STEER option
this is an unusual option that gives FBWA flight control in AUTO
mode. It is being added to support use of APM in an aerial robotics
competition where students need to pilot the plane, but they still
need waypoint triggering of payloads
2013-09-13 14:38:09 +10:00
Andrew Tridgell f6688582a6 Plane: added FENCE_ACTION=3 behaviour
this makes it safer to enable the geofence as a receiver failsafe
mode. It retains manual throttle control, so if it triggers on the
ground due to the receiver losing signal from the transmitter then the
throttle can be kept low, preventing an unexpected takeoff.
2013-09-08 07:31:10 +10:00
Andrew Tridgell accfd46633 Plane: update for new APM_Control API 2013-08-14 14:57:41 +10:00
Andrew Tridgell 890b77447a Plane: allow integrator in stabilize mode when no stick input
fixes issue #472
2013-08-02 21:55:34 +10:00
Andrew Tridgell 233b033e8c Plane: removed old speed/altitude control algorithms
Use TECS only. This makes the code a lot simpler and easier to
properly document
2013-07-22 13:28:11 +10:00
Andrew Tridgell 29c854e676 Plane: remove unused function 2013-07-22 12:50:02 +10:00
Andrew Tridgell 51b9cf3e76 Plane: move failsafe variables into a structure
this makes the logic a bit easier to follow
2013-07-22 12:50:00 +10:00
Andrew Tridgell 608345415b Plane: pass aircraft parameters to attitude controllers
also cope with rename of airspeed min/max variables

Pair-Programmed-With: Paul Riseborough <p_riseborough@live.com.au>
2013-07-18 14:53:37 +10:00
Andrew Tridgell dbd47b2a30 Plane: make TECS the default speed/height controller 2013-07-15 11:12:24 +10:00
Andrew Tridgell dc024d425a Plane: re-do roll hanging in ACRO mode
this avoids the euler angle zeros of the previous method by using a
gyro integrator on the roll axis

Pair-Programmed-With: Paul Riseborough <p_riseborough@live.com.au>
2013-07-13 21:45:58 +10:00
Andrew Tridgell b37f79d307 Plane: update for new APM_Control API 2013-07-13 21:45:58 +10:00
Andrew Tridgell 113bc20f8a Plane: added a new CRUISE flight mode
See
http://diydrones.com/group/apmusergroup/forum/topics/feature-request-hold-heading-mode

this fixes issue #438
2013-07-13 21:45:58 +10:00
Andrew Tridgell cc57bfcf12 Plane: fixed handling of deadzone in ACRO mode
RC_Channel norm_input() does not take account of the dead zone
2013-07-12 17:54:51 +10:00
Andrew Tridgell fc67f51901 Plane: added ACRO_ROLL_RATE and ACRO_PITCH_RATE parameters
default to 180 degrees/second, which seems reasonable
2013-07-11 09:10:41 +10:00
Andrew Tridgell 608007361b Plane: added initial implementation of ACRO mode
rate based control with attitude locking
2013-07-11 09:10:41 +10:00
Andrew Tridgell 3c97fad2ec Plane: changes for GPS field changes 2013-07-10 14:04:22 +10:00
Andrew Tridgell 7aa360b176 Plane: added relative_altitude helper functions
prevents some code duplication
2013-07-10 14:04:22 +10:00
Andrew Tridgell 1355b6d89d Plane: break-up scheduling into smaller pieces
ensure mavlink sends don't push us over a scheduling boundary
2013-07-05 18:05:27 +10:00
Andrew Tridgell d30dd7c3f1 Plane: only run TECS when in an auto-throttle mode
this prevents integrator buildup in user controlled modes
2013-07-05 14:55:22 +10:00
Andrew Tridgell a5bda3ffef Plane: changed to using a "aircraft parameters" structure
this structure can be passed to libraries to give them easy access to
critical user parameters
2013-07-04 16:56:57 +10:00
Paul Riseborough d62636d309 Plane: added new TECS altitude controller
Includes improvements to takeoff/launch detect logic to support hand
launching for X-8 flight
2013-07-04 16:56:57 +10:00
Andrew Tridgell 75ef7c26e1 Plane: update takeoff course when conditions met
This allows for change of heading before the final takeoff conditions
are met

thanks to Greg Fletcher for suggesting this
2013-07-01 17:05:13 +10:00
Andrew Tridgell 570ecea6c6 Plane: added secondary rudder support 2013-06-29 17:31:03 +10:00
Andrew Tridgell 056e0ca40d Plane: APM2 doesn't have channel 9 PWM output 2013-06-24 13:06:54 +10:00
Andrew Tridgell a1f64d606a Plane: fixed remaining places where primary channel ordering was assumed
should now use rcmap for all inputs
2013-06-03 16:23:48 +10:00
Andrew Tridgell fb9bf21522 Plane: allow channel mapping of first 4 channels
this makes it easier to support DSM and SBUS radios
2013-06-03 16:23:48 +10:00
Andrew Tridgell bb3171ab5f Plane: zero attitude integrators on the ground 2013-06-01 22:29:38 +10:00
Andrew Tridgell cd55ed45e2 Plane: removed the old roll/pitch/yaw PID controllers
use the new controllers, with auto parameter conversion
2013-05-31 14:06:56 +10:00
Andrew Tridgell eba7d6da9a Plane: removed the old crash_timer code
This code is less relevent with the new L1 navigation, and could cause
issues with the pilot not having control after a long dive.

Thanks to Soren for pointing out the issues

See issue #305
2013-05-28 11:19:28 +10:00
Andrew Tridgell 767d9d0eb5 Plane: fixed stick mixing in AUTO modes
the mixing was asymmetric. Many thanks to Soren Kuula for noticing this!
2013-05-27 08:24:35 +10:00
Andrew Tridgell c81421e275 Plane: added MIXING_GAIN parameter
this allows for the full range of output on both channels, but can
saturate
2013-05-25 18:28:13 +10:00
Andrew Tridgell 6251d0510a Plane: obey pitch trim and throttle pitch feed forward in new controllers
Pair-Programmed-With: Paul Riseborough <p_riseborough@live.com.au>
2013-05-05 21:51:09 +10:00
Andrew Tridgell 11ad9d5a2d Plane: auto-invert pitch control when upside down
this helps to recover when flying inverted, for example when in manual
and hitting the lower altitude geofence
2013-05-05 21:51:09 +10:00
Andrew Tridgell 4e2b88f6e6 Plane: added ATT_CONTROLLER option to select attitude controller
set to 1 for the new APM_Control library
2013-05-05 21:51:09 +10:00
Paul Riseborough 8c5b603848 Plane: use new APM_Control API 2013-05-05 21:51:08 +10:00
Andrew Tridgell 9584aa89d9 Plane: replaced constrain() with constrain_float() 2013-05-02 10:27:10 +10:00
Andrew Tridgell 3d7a4d0e6e Plane: added ELEVON_OUTPUT option
this is like the vtail mixer, but for elevons
2013-04-29 12:13:59 +10:00
Andrew Tridgell 0b8c2da4df Plane: support 12 output channels on PX4 2013-04-25 20:10:53 +10:00
Andrew Tridgell 4f225eff57 Plane: if airspeed enabled, require 5m/s to unsuppress throttle 2013-04-25 20:10:53 +10:00
Andrew Tridgell 8f091e70c8 Plane: move elevon variables into a structure 2013-04-15 14:53:56 +10:00
Andrew Tridgell 11eb0cfce1 Plane: update for new AP_Navigation controller class
this switches ArduPlane over to use the L1 navigation controller, via
a generic nav_controller object pointer.

Note that the nav_controller controls all types of navigation now,
including level flight and heading hold. This provides a cleaner
abstraction than the old method of special case navigation handling

Pair-Programmed-With: Paul Riseborough <p_riseborough@live.com.au>
2013-04-12 12:48:09 +10:00
Andrew Tridgell e58f49aeaf Plane: copy rudder out in TRAINING mode
we were doing rudder mixing in training mode, which shouldn't be done
2013-04-05 19:38:43 +11:00
Andrew Tridgell bd2b9fbe9d Plane: simplify the VTail mixer to be more like a hardware mixer
this should make it easier to trim the vtail
2013-04-05 15:47:51 +11:00
Andrew Tridgell 406921faf1 Plane: added VTAIL_OUTPUT option
this allows for software vtail mixing
2013-04-05 15:22:11 +11:00
Andrew Tridgell 683a2919d1 Plane: prevent stick mixing when throttle is below failsafe threshold
this fixes issue #40
2013-04-02 10:42:56 +11:00