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
Andrew Tridgell
2506c216dd
Plane: added a second type of stick mixing
...
this changes STICK_MIXING from a boolean to a tri-state. With
STICK_MIXING=1 it now uses FBW style mixing. With STICK_MIXING=2 it
uses the old style of direct stick mixing.
2013-04-02 08:52:56 +11:00
Andrew Tridgell
e390726bdd
Plane: prevent overflow on large PID gains
...
this uses get_pid_4500() to prevent overflow of servo_out on large PID gains
2013-04-01 22:17:04 +11:00
Andrew Tridgell
dfb14d760b
Plane: added HIL_SERVOS option
...
this allows for real servo output in HIL
2013-03-30 14:38:43 +11:00
Randy Mackay
c2055557f5
Plane: add support for GPS fix type 2D
2013-03-27 11:41:51 +09:00
Andrew Tridgell
1d983b3f2e
Plane: fixed X accel triggering of auto
2013-03-22 11:53:45 +11:00
Andrew Tridgell
0a385cc0ff
Plane: added TKOFF_THR_MINACC option
...
this is used for triggering auto takeoff with a hand launched plane
2013-03-09 14:41:04 +11:00
Michael Warren
9697ff5d6d
Plane: Added extra parameter to specify at what speed in auto-takeoff throttle should engage
...
This adds TKOFF_THR_MINSPD in m/s
2013-03-09 14:19:48 +11:00