Help needed for delta wing setup

305 views
Skip to first unread message

Phil Giacalone

unread,
Oct 22, 2011, 3:55:31 AM10/22/11
to uavdevboard
Hi all,

I'm configuring a Multiplex Funjet (delta wing) with the UDB3 and
could use some advice on how to setup aileron/elevator mixing. I've
been playing around with v-tail mixers, transmitter mixing settings
and UDB options.h settings, but the only one I've gotten to work uses
just the v-tail mixer. What's the easiest or best way to setup this
up?

Using a v-tail mixer?
-------------------------
With this setup, I put the v-tail mixer between the UDB servo outputs
and the 2 aileron servos. The UDB was configured with AIRFRAME_TYPE =
AIRFRAME_STANDARD, and the DX-7 transmitter had all mixing options
turned off. This worked fine but I'm wondering if there's a better
way.

Using Delta Wing settings on both the transmitter and UDB?
--------------------------------------------------------------------------------
With this setup I connected the UDB servo outputs directly to the 2
aileron servos. I set the DX-7 transmitter to delta wing mixing, and
set the UDB with AIRFRAME_TYPE = AIRFRAME_DELTA. This didn't work
right -- pitch stick movements yielded roll control surface movements
and roll stick movements yielded pitch control surface movements. Is
this setup logical and how can the reversed stick movements be
corrected?

Sorry, but if I seem confused by this, you're right :-)

Are there better options?
-------------------------------
If there are better options, I'd appreciate any advice.

Thanks in advance.

Best regards,
Phil

peshao

unread,
Oct 22, 2011, 11:04:54 AM10/22/11
to uavdevboard
The second one is right. Some tips.

Dont use second aleiron in the UDB options. You have to use elevator
and aileron like outputs.
Try to config fisical reverse switchs in the UDB option to elevator
and ailerons output channels.
Move reverse options in the transmiter and switchs in the UDB until
fine the right config.

In order To control and stabilizate a FW UDB have to be in delta.

If evering is reserved, there is an option to put vtail (all control)
reversed.


Phil Giacalone ha escrito:

Riccardo Kuebler

unread,
Oct 22, 2011, 12:00:16 PM10/22/11
to uavde...@googlegroups.com
Hi Phil,

let's go by steps :)

First program your DX7 for delta wings and connect :

right aileron servo to ELEV receiver port
left aileron servo AILE port

Connect them directly, without UDB and check for the right behaviour.
You should have elevons move on elevator and ailerons move on ailerons.
If the movements are reversed simply reverse them in the TX program (Reverse Switch).

Then come back and we try to go further.

Best regards,

Ric

2011/10/22 Phil Giacalone <scienc...@gmail.com>

Phil Giacalone

unread,
Oct 22, 2011, 4:48:07 PM10/22/11
to uavdevboard
Thank you Ric and Peshao. I've got the plane setup and working now,
thanks to your advice.

The suggestion to first set up the plane without the UDB connected was
really helpful. The thing that was confusing me was the combination of
UDB settings and transmitter settings. Once the basic plane setup was
working correctly, adding the UDB was easy.

Cool!, my Funjet should be flying with the UDB3 some time this
weekend.

Thanks again and best regards,
Phil

On Oct 22, 9:00 am, Riccardo Kuebler <kueb...@ticino.com> wrote:
> Hi Phil,
>
> let's go by steps :)
>
> First program your DX7 for delta wings and connect :
>
> right aileron servo to ELEV receiver port
> left aileron servo AILE port
>
> Connect them directly, without UDB and check for the right behaviour.
> You should have elevons move on elevator and ailerons move on ailerons.
> If the movements are reversed simply reverse them in the TX program (Reverse
> Switch).
>
> Then come back and we try to go further.
>
> Best regards,
>
> Ric
>
> 2011/10/22 Phil Giacalone <scienceth...@gmail.com>

Phil Giacalone

unread,
Oct 22, 2011, 4:51:02 PM10/22/11
to uavdevboard
Hey Ric,

One more thing... Do you happen to have an options.h file for the
Funjet that you could share?

Best regards,
Phil


On Oct 22, 9:00 am, Riccardo Kuebler <kueb...@ticino.com> wrote:
> Hi Phil,
>
> let's go by steps :)
>
> First program your DX7 for delta wings and connect :
>
> right aileron servo to ELEV receiver port
> left aileron servo AILE port
>
> Connect them directly, without UDB and check for the right behaviour.
> You should have elevons move on elevator and ailerons move on ailerons.
> If the movements are reversed simply reverse them in the TX program (Reverse
> Switch).
>
> Then come back and we try to go further.
>
> Best regards,
>
> Ric
>
> 2011/10/22 Phil Giacalone <scienceth...@gmail.com>

Riccardo Kuebler

unread,
Oct 22, 2011, 5:18:09 PM10/22/11
to uavde...@googlegroups.com
Sure Phil :)

the latest code I did use with my Funjet was r498, but it seems my options.h is not the right one.

I attach a previous revision, which is almost like the latest.
At those time we were testing dead reckoning and magnetometer code in the very first versions.

Please take care that I'm using a Graupner tx so channels are to be rearranged.
Take care too that I usually use very low stabilization gains, I don't like hard stabilization.
You already had a look at those gains in the video Pete already pointed in another thread.

Being a very old code revision I suggest to copy just the gains you need.
I post a partial logbook too.

Hope I was helpful and broken wings !

Best regards,

Ric

2011/10/22 Phil Giacalone <scienc...@gmail.com>
options.h
Logbook Funjet.xls

Phil Giacalone

unread,
Oct 22, 2011, 7:24:41 PM10/22/11
to uavdevboard
Ric and Peshao,

Hey, I just had my first successful Funjet flight with MatrixPilot
r1067! Sweet! Thanks again for helping me get it setup.

Geeze, that plane is FAST! After flying a HawkSky for over a year, the
Funjet feels like lightning. A lotta fun -- that plane has the perfect
name :-)

I'll take a look at your gains, Ric, and make some adjustments. Thanks
for sending those files.

Best regards and happy flying,
Phil



On Oct 22, 2:18 pm, Riccardo Kuebler <kueb...@ticino.com> wrote:
> Sure Phil :)
>
> the latest code I did use with my Funjet was r498, but it seems my options.h
> is not the right one.
>
> I attach a previous revision, which is almost like the latest.
> At those time we were testing dead reckoning and magnetometer code in the
> very first versions.
>
> Please take care that I'm using a Graupner tx so channels are to be
> rearranged.
> Take care too that I usually use very low stabilization gains, I don't like
> hard stabilization.
> You already had a look at those gains in the video Pete already pointed in
> another thread.
>
> Being a very old code revision I suggest to copy just the gains you need.
> I post a partial logbook too.
>
> Hope I was helpful and broken wings !
>
> Best regards,
>
> Ric
>
> 2011/10/22 Phil Giacalone <scienceth...@gmail.com>
>  options.h
> 27KViewDownload
>
>  Logbook Funjet.xls
> 22KViewDownload

Phil Giacalone

unread,
Oct 23, 2011, 1:01:47 AM10/23/11
to uavdevboard
Just in case someone needs this configuration information in the
future, here's the FunJet's setup details. This includes wiring
connections, Spektrum DX7 transmitter settings, and options.h file
settings. The option.h gain levels could be a little lower (per Ric's
options.h file settings), but the plane is ok to fly in stabilized
mode. I had 2 successful flights today with the settings below.

//UAV Dev Board v3 Spektrum AR7000 Receiver
//================ ========================
// Input #1 <-- Aileron port
// Input #2 <-- Elevator port
// Input #3 <-- Throttle port
// Input #4 <-- Aux 1 port (used for UDB Mode Switching)

//UAV Dev Board v3 Servos and UDB Switch Positions
//================ ===============================
// Output #1 --> Left Wing Aileron Servo
// Output #2 --> Right Wing Aileron Servo
// Output #3 --> ESC to motor
// SR1 switch --> Left position
// SR2 switch --> Right position
// SR3 switch --> Right position

//Spektrum DX-7 Transmitter Settings
// Delta Wing Mixing - ON
// Servo 1 --> down
// Servo 2 --> up
// Servo 3 --> up
// Servo 4 --> down
// Servo 5 --> down
// Servo 6 --> down
// Servo 7 --> down

#define BOARD_TYPE UDB3_BOARD
#define BOARD_ORIENTATION ORIENTATION_FORWARDS
#define AIRFRAME_TYPE AIRFRAME_DELTA
#define GPS_TYPE GPS_STD
#define ROLL_STABILIZATION_AILERONS 1
#define ROLL_STABILIZATION_RUDDER 0
#define PITCH_STABILIZATION 1
#define YAW_STABILIZATION_RUDDER 0
#define YAW_STABILIZATION_AILERON 0
#define AILERON_NAVIGATION 1
#define RUDDER_NAVIGATION 0
#define WIND_GAIN_ADJUSTMENT 0
#define ALTITUDEHOLD_STABILIZED AH_NONE
#define ALTITUDEHOLD_WAYPOINT AH_FULL
#define SPEED_CONTROL 0
#define DESIRED_SPEED 10.00 // meters/second
#define INVERTED_FLIGHT_STABILIZED_MODE 0
#define INVERTED_FLIGHT_WAYPOINT_MODE 0
#define HOVERING_STABILIZED_MODE 0
#define HOVERING_WAYPOINT_MODE 0
#define USE_CAMERA_STABILIZATION 0
#define MAG_YAW_DRIFT 1
#define RACING_MODE 0
#define RACING_MODE_WP_THROTTLE 1.0
#define NORADIO 0
#define USE_PPM_INPUT 0
#define PPM_NUMBER_OF_CHANNELS 8
#define PPM_SIGNAL_INVERTED 0
#define PPM_ALT_OUTPUT_PINS 0
#define NUM_INPUTS 4
#define THROTTLE_INPUT_CHANNEL CHANNEL_3
#define AILERON_INPUT_CHANNEL CHANNEL_1
#define ELEVATOR_INPUT_CHANNEL CHANNEL_2
#define RUDDER_INPUT_CHANNEL CHANNEL_UNUSED
#define MODE_SWITCH_INPUT_CHANNEL CHANNEL_4
#define CAMERA_PITCH_INPUT_CHANNEL CHANNEL_UNUSED
#define CAMERA_YAW_INPUT_CHANNEL CHANNEL_UNUSED
#define OSD_MODE_SWITCH_INPUT_CHANNEL CHANNEL_UNUSED
#define PASSTHROUGH_A_INPUT_CHANNEL CHANNEL_UNUSED
#define PASSTHROUGH_B_INPUT_CHANNEL CHANNEL_UNUSED
#define PASSTHROUGH_C_INPUT_CHANNEL CHANNEL_UNUSED
#define PASSTHROUGH_D_INPUT_CHANNEL CHANNEL_UNUSED
#define NUM_OUTPUTS 3
#define THROTTLE_OUTPUT_CHANNEL CHANNEL_3
#define AILERON_OUTPUT_CHANNEL CHANNEL_1
#define ELEVATOR_OUTPUT_CHANNEL CHANNEL_2
#define RUDDER_OUTPUT_CHANNEL CHANNEL_UNUSED
#define AILERON_SECONDARY_OUTPUT_CHANNEL CHANNEL_UNUSED
#define CAMERA_PITCH_OUTPUT_CHANNEL CHANNEL_UNUSED
#define CAMERA_YAW_OUTPUT_CHANNEL CHANNEL_UNUSED
#define TRIGGER_OUTPUT_CHANNEL CHANNEL_UNUSED
#define PASSTHROUGH_A_OUTPUT_CHANNEL CHANNEL_UNUSED
#define PASSTHROUGH_B_OUTPUT_CHANNEL CHANNEL_UNUSED
#define PASSTHROUGH_C_OUTPUT_CHANNEL CHANNEL_UNUSED
#define PASSTHROUGH_D_OUTPUT_CHANNEL CHANNEL_UNUSED
#define AILERON_CHANNEL_REVERSED HW_SWITCH_1
#define ELEVATOR_CHANNEL_REVERSED HW_SWITCH_2
#define RUDDER_CHANNEL_REVERSED 0
#define AILERON_SECONDARY_CHANNEL_REVERSED 0 // Hardcoded to be
unreversed, since we have only 3 switches.
#define THROTTLE_CHANNEL_REVERSED 0 // Set to 1 to hardcode a
channel to be reversed
#define CAMERA_PITCH_CHANNEL_REVERSED 0
#define CAMERA_YAW_CHANNEL_REVERSED 0
#define ELEVON_VTAIL_SURFACES_REVERSED HW_SWITCH_3
#define MODE_SWITCH_THRESHOLD_LOW 2600
#define MODE_SWITCH_THRESHOLD_HIGH 3400
#define FAILSAFE_INPUT_CHANNEL THROTTLE_INPUT_CHANNEL
#define FAILSAFE_INPUT_MIN 2150 //was 1500 (orig setting)
#define FAILSAFE_INPUT_MAX 4500
#define FAILSAFE_TYPE FAILSAFE_RTL
#define FAILSAFE_HOLD 0
#define SERIAL_OUTPUT_FORMAT SERIAL_NONE
#define MAVLINK_SYSID 55
#define SERIAL_INPUT_FORMAT SERIAL_NONE
#define USE_OSD 0
#define NUM_ANALOG_INPUTS 0
#define ANALOG_CURRENT_INPUT_CHANNEL CHANNEL_UNUSED
#define ANALOG_VOLTAGE_INPUT_CHANNEL CHANNEL_UNUSED
#define ANALOG_RSSI_INPUT_CHANNEL CHANNEL_UNUSED
#define RSSI_MIN_SIGNAL_VOLTAGE 0.5 // Voltage when RSSI should
show 0%
#define RSSI_MAX_SIGNAL_VOLTAGE 3.3 // Voltage when RSSI should
show 100%
#define TRIGGER_TYPE TRIGGER_TYPE_NONE
#define TRIGGER_ACTION TRIGGER_PULSE_HIGH
#define TRIGGER_SERVO_LOW 2000
#define TRIGGER_SERVO_HIGH 4000
#define TRIGGER_PULSE_DURATION 250
#define TRIGGER_REPEAT_PERIOD 4000
#define SERVOSAT 1.0
#define ROLLKP 0.10 //was 0.20, ric uses 0.05
#define ROLLKD 0.05 //was 0.05, ric uses 0.05
#define YAWKP_AILERON 0.05 //was 0.10
#define YAWKD_AILERON 0.05 //was 0.05
#define AILERON_BOOST 1.00 //was 1.00
#define PITCHGAIN 0.10 //was 0.10, ric uses 0.06
#define PITCHKD 0.03 //was 0.04
#define RUDDER_ELEV_MIX 0.50 //was 0.20
#define ROLL_ELEV_MIX 0.50 //was 0.05
#define ELEVATOR_BOOST 0.80 //was 0.50
#define INVERTED_NEUTRAL_PITCH 8.0
#define YAWKP_RUDDER 0.0625 //was 0.05
#define YAWKD_RUDDER 0.05 //was 0.05
#define ROLLKP_RUDDER 0.06 //no change
#define MANUAL_AILERON_RUDDER_MIX 0.00 //no change
#define RUDDER_BOOST 1.00 //no change
#define HOVER_ROLLKP 0.05
#define HOVER_ROLLKD 0.05
#define HOVER_PITCHGAIN 0.2
#define HOVER_PITCHKD 0.25
#define HOVER_PITCH_OFFSET 0.0 // + leans towards top, - leans
towards bottom
#define HOVER_YAWKP 0.2
#define HOVER_YAWKD 0.25
#define HOVER_YAW_OFFSET 0.0
#define HOVER_PITCH_TOWARDS_WP 30.0
#define HOVER_NAV_MAX_PITCH_RADIUS 20
#define CAM_TAN_PITCH_IN_STABILIZED_MODE 1433 // 1443 is 5 degrees
of pitch. Example: 15 degrees is 4389
#define CAM_YAW_IN_STABILIZED_MODE 0 // in degrees relative to the
plane's yaw axis. Example: 0
#define CAM_PITCH_SERVO_THROW 95 // Camera lens rotation at
maximum PWM change (2000 to 4000), in degrees.
#define CAM_PITCH_SERVO_MAX 85 // Max pitch up that plane can
tilt and keep camera level, in degrees.
#define CAM_PITCH_SERVO_MIN -22 // Max pitch down that plane
can tilt and keep camera level, in degrees.
#define CAM_PITCH_OFFSET_CENTRED 38 // Offset in degrees of
servo that results in a level camera.
#define CAM_YAW_SERVO_THROW 350 // Camera yaw movement for
maximum yaw PWM change (2000 to 4000) in Degrees.
#define CAM_YAW_SERVO_MAX 130 // Max positive yaw of camera
relative to front of plane in Degrees.
#define CAM_YAW_SERVO_MIN -130 // Min reverse yaw of camera
relative to front of plane in Degrees.
#define CAM_YAW_OFFSET_CENTRED 11 // Yaw offset in degrees that
results in camera pointing forward.
#define CAM_TESTING_OVERIDE 0 // Set to 1 for camera to move
to test angles in stabilized mode.
#define CAM_TESTING_YAW_ANGLE 90 // e.g. 90 degrees. Will try to
swing 90 degrees left, then 90 degrees right
#define CAM_TESTING_PITCH_ANGLE 90 // In degrees.
#define CAM_USE_EXTERNAL_TARGET_DATA 0
#define HEIGHT_TARGET_MIN 25.0
#define HEIGHT_TARGET_MAX 100.0
#define HEIGHT_MARGIN 10
#define ALT_HOLD_THROTTLE_MIN 0.35
#define ALT_HOLD_THROTTLE_MAX 0.6 //was 1.0
#define ALT_HOLD_PITCH_MIN -20.0 //was -15.0
#define ALT_HOLD_PITCH_MAX 30.0 //was 15.0
#define ALT_HOLD_PITCH_HIGH -20.0 //was -15.0
#define RTL_PITCH_DOWN 5.0 //was 0.0
#define HILSIM 0
#define HILSIM_BAUD 19200
#define FLIGHT_PLAN_TYPE FP_WAYPOINTS
// #define TestGains // uncomment this line if you want to test
your gains without using GPS
#define RECORD_FREE_STACK_SPACE 0

Riccardo Kuebler

unread,
Oct 23, 2011, 1:27:40 PM10/23/11
to uavde...@googlegroups.com
Hi Phil,

nice work !

Yes, the Funjet is really fun, like all the Multiplex planes, which seems done expressly for those purposes :D

Best regards,

Ric

2011/10/23 Phil Giacalone <scienc...@gmail.com>

peshao

unread,
Oct 23, 2011, 2:31:03 PM10/23/11
to uavdevboard
I am very happy for you...another UDB`s fanatic.

bye

On 23 oct, 14:27, Riccardo Kuebler <kueb...@ticino.com> wrote:
> Hi Phil,
>
> nice work !
>
> Yes, the Funjet is really fun, like all the Multiplex planes, which seems
> done expressly for those purposes :D
>
> Best regards,
>
> Ric
>
> 2011/10/23 Phil Giacalone <scienceth...@gmail.com>
> ...
>
> leer más »
Reply all
Reply to author
Forward
0 new messages