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
Andrew Tridgell
66d3668ac4
Plane: rapid climb in QRTL if below target altitude
2016-04-30 14:34:47 +10:00
Andrew Tridgell
4666b25258
Plane: initial implementation of QRTL for quadplane RTL
2016-04-30 14:34:47 +10:00
Andrew Tridgell
460885c478
Plane: refactored quadplane landing controller
...
allow use in other than AUTO mode
2016-04-30 14:34:46 +10:00
Andrew Tridgell
ab5ca53e2f
Plane: lower default VTOL ANGLE_MAX to 30 degrees
...
we don't really want a quadplane at 45 degrees or the wing drag gets
far too high
2016-04-29 10:23:26 +10:00
Andrew Tridgell
6f4d66f346
Plane: support building quadplane with forced motors class
2016-04-28 22:40:45 +10:00
Andrew Tridgell
9c0d984a4e
Plane: support forced motor class in quadplane
2016-04-28 22:37:24 +10:00
Andrew Tridgell
00c2b4b30f
Plane: reload airspeed after VTOL landing
2016-04-28 08:42:19 +10:00
Andrew Tridgell
38a7bfd81f
Plane: added Q_ENABLE=2 for starting AUTO in VTOL
2016-04-23 21:03:46 +10:00
Andrew Tridgell
0aa1ae048d
Plane: fixed is_flying() for VTOL flight
...
otherwise we may disarm mid-flight!
2016-04-23 21:03:46 +10:00
Andrew Tridgell
76400a9959
Plane: support DO_VTOL_TRANSITION as a mission item
2016-04-23 21:03:46 +10:00
Andrew Tridgell
a549225e60
Plane: support Y6 frame class in quadplane
2016-04-22 10:28:16 +10:00
Andrew Tridgell
de33779382
Plane: added Q_WVANE_MINROLL
...
this allows for some roll trim without weathervaning
2016-04-21 21:52:25 +10:00
Andrew Tridgell
d013878c17
Plane: improved speed limiting on landing approach in VTOL mode
2016-04-20 18:07:04 +10:00
Andrew Tridgell
d8b0d17fe4
Plane: added weathervaning to landing reposition
2016-04-20 17:12:59 +10:00
Andrew Tridgell
f34af03891
Plane: added Q_WVANE_GAIN
...
this controls weathervaning in VTOL modes. Defaults to off
2016-04-20 17:12:59 +10:00
Andrew Tridgell
e9e43dc016
Plane: added Q_VFWD_GAIN for forward motor in VTOL modes
...
this allows for velocity control using the forward motor in VTOL modes
2016-04-20 16:25:19 +10:00
Andrew Tridgell
154fe15c67
Plane: fixed build warning
2016-04-15 09:22:41 +10:00
Andrew Tridgell
1fe9582ac3
Plane: back to velocity controller for quadplane landing
...
now with much smoother attitude control thanks to some help from
Leonard
2016-04-10 22:01:19 +10:00
Andrew Tridgell
4a5c4a5189
Plane: not in vtol mode when quadplane not enabled
...
prevents logging error in auto if quadplane not enabled and running a
VTOL mission command
2016-04-10 22:01:18 +10:00
Andrew Tridgell
5f1ad68bd9
Plane: improved velocity controller for quadplane landing
2016-04-04 09:50:35 +10:00
Andrew Tridgell
8b30569ad1
Plane: setup quadplane earlier in startup
...
this ensures the GCS gets the full parameter list as the param count
will be set before mavlink starts
2016-04-03 06:49:38 +10:00
Andrew Tridgell
5cc4b20c73
Plane: smooth out final descent for landing
2016-04-02 22:45:51 +11:00
Andrew Tridgell
197cefaaa7
Plane: prevent large nose-down on start of velocity controller
2016-04-02 21:19:06 +11:00
Andrew Tridgell
ae51e51c6a
Plane: use velocity controller for initial quadplane landing
2016-04-02 20:54:01 +11:00
Andrew Tridgell
b1266603a6
Plane: setup immediate pitch limit on quadplane takeoff
...
this prevents a single loop with large pitch down demand
2016-04-02 19:53:48 +11:00
Andrew Tridgell
913cf9dd37
Plane: set min quad throttle to 10%
...
fixes spin when armed
2016-04-01 22:18:51 +11:00
Andrew Tridgell
7f85c14c96
Plane: fixed landing detector for new AP_Motors code
2016-04-01 21:54:32 +11:00
Andrew Tridgell
70679a06aa
Plane: fixed quadplane throttle control in AUTO
2016-04-01 17:29:51 +11:00
Andrew Tridgell
52cc369f15
Plane: fixed typo in AP_Motors conversion
2016-04-01 16:45:01 +11:00
Andrew Tridgell
e7f7afcc4d
Plane: added correct filter defaults
2016-04-01 16:44:49 +11:00
Andrew Tridgell
9cf909607f
Plane: setup reasonable quadplane defaults
2016-04-01 16:40:06 +11:00
Andrew Tridgell
dd6c4d6225
Plane: fixed up parameters for quadplane
...
this fixes quadplane parameters for the new AP_Motors code
2016-04-01 16:17:07 +11:00
Randy Mackay
b96ea15220
Plane: quadplane uses AC_AttitudeControl_Multi
2016-04-01 11:59:30 +09:00
Randy Mackay
41b584ac9e
Plane: fix quadplane qstabilize throttle input
2016-04-01 11:59:30 +09:00
Randy Mackay
70f81ee338
Plane: remove multicopter PID parameters
...
These have been moved to the AC_AttitudeControl class
2016-04-01 11:59:30 +09:00
Randy Mackay
39f795d9fd
Plane: quadplane sets motors desired spool state
2016-04-01 11:59:30 +09:00
Andrew Tridgell
4d7beab8cc
Plane: added QTUN logging for quadplane
2016-03-25 12:33:19 +11:00
Andrew Tridgell
0a199945a2
Plane: added copter RATE logging for quadplane
2016-03-25 12:13:59 +11:00
Andrew Tridgell
89970e4eaa
Plane: support motor_test for quadplanes
2016-03-13 10:05:10 +11:00
Andrew Tridgell
d644474817
Plane: support octaquad planes
2016-03-13 10:04:25 +11:00
Andrew Tridgell
f4ccf94dfc
Plane: added QLAND mode
...
for VTOL landing. Use for failsafe as well
2016-03-09 18:20:41 +11:00
Don Gagne
1df7baa5c5
Plane: update quadplane param description increment
2016-03-08 09:27:56 +09:00
Andrew Tridgell
b84b480086
Plane: added PID tuning for quadplane modes
2016-02-20 20:20:27 +11:00
Tom Pittenger
d0edfa5dfa
Plane: compile warning fix
...
/ardupilot/ArduPlane/quadplane.cpp:773:107: warning: implicit conversion from 'float' to 'double' when passing argument to function [-Wdouble-promotion]
2016-02-17 14:54:02 -08:00
Andrew Tridgell
f8d8616598
Plane: support all types of multicopters in quadplane
...
adds Q_FRAME_CLASS for class of multicopter frame
2016-02-08 11:00:19 +11:00
Andrew Tridgell
115d089904
Plane: continue limiting pitch during last phase of transition
...
this prevents a very high pitch demand causing the plane to slow down
to below assist speed
2016-01-20 18:30:48 +11:00
Andrew Tridgell
0223218c39
Plane: use altitude_error for quadplane climb rate assistance
2016-01-20 17:23:36 +11:00
Andrew Tridgell
3a9ebe3a8a
Plane: added Q_TRAN_PIT_MAX
2016-01-19 11:05:56 +11:00
Andrew Tridgell
7e29761b99
Plane: try to smooth auto VTOL transitions
2016-01-19 11:05:56 +11:00
Andrew Tridgell
4adda34439
Plane: limit pitch to zero during airspeed wait VTOL mode
2016-01-19 11:05:56 +11:00
Andrew Tridgell
5a24e93cc5
Plane: removed debug code and add quadplane setup checks
2016-01-09 16:26:13 +11:00
Andrew Tridgell
ee819959b6
Plane: smoother takeoff and land transition in VTOL auto
2016-01-09 11:33:43 +11:00
Andrew Tridgell
2679cb2c50
Plane: improve yaw and position control in takeoff and landing
...
auto VTOL takeoff is always vertical. Yaw rate is zero on takeoff and
during VTOL descent
2016-01-09 10:47:41 +11:00
Andrew Tridgell
0986474eed
Plane: call set_frame_orientation() before Init for quad motors
2016-01-09 07:44:45 +11:00
Andrew Tridgell
52c4715c94
Plane: fixed init bug on low memory for quadplane
2016-01-09 07:38:55 +11:00
Andrew Tridgell
787a6994a4
Plane: added Q_THR_MID parameter
2016-01-09 07:38:55 +11:00
Andrew Tridgell
4da798129e
Plane: fixed zero throttle in QSTABILISE mode
2016-01-09 07:38:55 +11:00
Andrew Tridgell
cfb74406b6
Plane: fixed call to motors->Init() for quadplane
2016-01-09 07:38:55 +11:00
Andrew Tridgell
13a71c5cde
Plane: use default motor mapping for channel setup
2016-01-09 07:38:55 +11:00
Andrew Tridgell
71b0d5fb6d
Plane: disable quad motors in TRAINING and ACRO too
2016-01-09 07:38:54 +11:00
Andrew Tridgell
9c5ec5e74b
Plane: allow yaw control in auto-throttle VTOL modes
2016-01-09 07:38:54 +11:00
Andrew Tridgell
70018ee0cb
Plane: fixed final descent for VTOL auto landing
2016-01-09 07:38:54 +11:00
Andrew Tridgell
f259cf4b3f
Plane: added Q_YAW_RATE_MAX parameter
2016-01-09 07:38:54 +11:00
Andrew Tridgell
f5a15fb7c5
Plane: don't yaw quad when disarming
2016-01-09 07:38:54 +11:00
Andrew Tridgell
ecd7d53cfc
Plane: auto set trim on quad motor channels
...
this prevents a reboot causing a motor start
2016-01-09 07:38:54 +11:00
Andrew Tridgell
7010fd27ff
Plane: fixed Q_THR_MAX_PWM parameter
2016-01-09 07:38:54 +11:00
Andrew Tridgell
780d1459f0
Plane: fixed force descend in VTOL land
2016-01-09 07:38:53 +11:00
Andrew Tridgell
4592085963
Plane: better VTOL land detection
2016-01-09 07:38:53 +11:00
Andrew Tridgell
fdd86c10ba
Plane: smoother transitions to auto from VTOL takeoff
2016-01-09 07:38:53 +11:00
Andrew Tridgell
418464ab8c
Plane: added quadplane version of is_flying()
2016-01-09 07:38:53 +11:00
Andrew Tridgell
f068a8c913
Plane: added support for VTOL_TAKEOFF and VTOL_LAND commands
2016-01-09 07:38:53 +11:00
Andrew Tridgell
5e784ddb5c
Plane: consider flying status for throttle_wait
2016-01-09 07:38:53 +11:00
Andrew Tridgell
aab98ff757
Plane: fixed quad yaw assistance during transition timer
2016-01-09 07:38:52 +11:00
Andrew Tridgell
9ae4c3ec99
Plane: mark Q_ENABLE parameter as an enable parameter
2016-01-09 07:38:52 +11:00
Andrew Tridgell
0d6b353bcb
Plane: added quad assistance and auto support for quadplane
2016-01-09 07:38:52 +11:00
Andrew Tridgell
48e1a0641f
Plane: added throttle wait to quadplane
2016-01-09 07:38:52 +11:00
Andrew Tridgell
2983576067
Plane: added QLOITER mode
...
quadplane loiter
2016-01-09 07:38:52 +11:00
Andrew Tridgell
00ca292160
Plane: improved quadplane transition
2016-01-09 07:38:52 +11:00
Andrew Tridgell
ca85c332d6
Plane: separate QSTABILIZE and QHOVER modes
2016-01-09 07:38:52 +11:00
Andrew Tridgell
6468fc6d93
Plane: Initial implementation of quadplane
...
adds "HOVER" mode
2016-01-09 07:38:52 +11:00