Dual-motor tailsitters

in your new video… it sounds very smooth… no problems

Skywalker back in the air again.
Left distorted wing replaced, new ESC BLHeli32 DShot, flashed ChibiOS, Accel and Compasses calibrated.
Here the tests at the basics, no funny actions or surprises.
Remarkable the shaking while lift off in QHover and the cracy nervous actions of the elevons in QHover it’s not a bird.

During the short phases in planemode the elevons seems to work balanced now.
Interresting to see in the next tests with longer plane mode flights if the unexpected right spirals are solved.
1 Like


Sorry for my English language.

Vectored Tailsiter with control surface

I have some problem. Before this flight, aircraft was spiral, spinning and crash. So i changed KFF_RDDRMIX to 0 and then flight test. It look better so i switch mode to autotune and then spiral show in this video. After spiral, i try to recover by change mode to QSTABILIZE but it’s too late and i think the code between transition to VTOL, motor’s THR will equal pwm at least 2 sec. So it’s too long

The reasons for THR’s PWM are different because i trim it.

So, what i can to prevent, recover or improve yaw stability aft spiral.
What param do i need to know?

rcout 1 : tiltMotorLeft
rcout 2 : tiltMotorRight
rcout 3 : ThrottleLeft
rcout 4 : ThrottleRight
rcout 5 : ElevonLeft
rcout 6 : ElevonRight

Thank you for attention.

ArduPlane V3.9.10
Log : https://1drv.ms/u/s!AqOWolo2-80q2yLcRChrIxEYk7DI?e=aVCyun
Video : https://youtu.be/4ghkV7Cn-yY

hello, I dont think you have a parameter problem. The following print of your log shows that your right motor run at lower pwm in hover and it might be an indication that the right motor produce more thrust. I think this is not a good idea to use your TX rudder trim to correct the thrust difference.

If your aircraft make a spiral due to differential thrust, this is also because the vertical stabilizer is too small and too close to the CG. Try to increase the surface.
Where is the CG ? It should be at least at 20% of the mean aerodynamic cord. 15% would be safer and more stable.
Keep us updated and good luck.

I calibrated the ESCs which drive the motors start together at the same PWM.
“TX rudder trim to correct the thrust difference.” So, what should i do to trim them?

Static margin for this is about 8% MAC. I will try to increase and vertical stabilizer area too.
MAC : 336
CG : 36
NP : 62

Some question from me.
Can YAW2SRV_ Parameters prevent for this case(Spiral)?
When the plane is on the ground in VTOL mode, Cube see the plane is not level in roll axis. When i hover it will keep move in the roll direction. How can i trim the orientation?
Now, the code can not separate trim(Keep level, not roll, not pitch, not yaw) between VTOL and cruise mode,isn’t it?

Did you check both ESC have same full throttle calibration ? It might be also a propeller problem or a motor problem. For this last case I have no solution except you can try to cheat with esc calibration.

I never tried to play with this parameter but In plane mode, log shows that desired yaw is always 0 and pwm value send to motors are equal so I am pessimistic about yaw stabilisation.

I would make again accelerometer calibrations taking care of the vertical position. A slow drift is normal. You can try to increase q_a_rat_rll_I

I just realise that the roll drift in hover might be the result of your TX rudder trim as doing that you ask a constant roll rate.

Yes,i did.I calibrated them together.

OK. Thank you, I will try.

In hover mode, my rudder stick control the yaw( earth frame) so i will try to calibrate accelerameter carefully.

Now, i know more about parameter about KFF_RDDRMIX, so i try to change value and i found something weird. First KFF_RDDRMIX is 0, it look normal but it’s not 0 .The THR right 's PWM is increase.

And i try to roll the PWM should change but it change just one direction.

More Transition-Tests with Skywalker VTOL.
Some findings:

  • No more spiral issues, so far.

  • Slow down from Plane Mode to Kopter Mode difficult.
    – To Qhover no pitch Up possible due to Mots on MInimum to hold altitude.
    – To QStabilize climbs up as a rocket and need nearly the same distance even with pull back stick

  • The elevons works (wrong) in Kopter Mode. Flying against wind or forward the Mots need to pitch
    down the wing as usual for a copter. But the elevons want to pitch up the wing (Elevons up)
    Good to see in final Landigphase. Elevons up to 20° but fortunately with little effect.

Starts to make fun :stuck_out_tongue:

Glad it’s flying more consistently now.

It does take a fair amount of distance to slow down on transition from FBW to Q modes, but I can’t think of any way to shorten that other than reducing airspeed in advance. And that would use a lot of distance anyway. Could add speed brakes :slight_smile:

I’m not sure I see why the elevons would be fighting a command for downward pitch; the attitude controller should be calling for down elevon in that case. Do you have a log which shows the problem?

In the next video I show the Elevon issue in QHover forward flight.
I know, its not the target of a VTOL, but the same situation happend while landing with the same windspeed. And during hovering on spot without wind, the Elevons work crazy. Good to stabilize a Tailsitter.
This is the situation in Test 48, line line 270 of the log.

The same situation in the log:

And this while landing.

The video Test 48: https://youtu.be/HINcB43YoW8
The log of Test 48: https://drive.google.com/open?id=1_lP6Es_Aduwnq3ZNmLuoLL4VKYz4shfQ
And the parameters: https://drive.google.com/open?id=1gerz73q3rHmzz0K-y4V9ZGnW0j0jRGZh
For me, the Elevons should be deactivated during Q Modes. The crazy actions disturb also the the first part of the transition. (Up to Q_TILT_MAX)
I don’t know how they work in other VTOL applications.

Perhaps your PTCH2SRV_D gain is too high at 0.15?
Here are the values for my Convergence:

PTCH2SRV_D       0.020000
PTCH2SRV_FF      0.000000
PTCH2SRV_I       0.300000
PTCH2SRV_IMAX    4000.000000
PTCH2SRV_P       1.100000
PTCH2SRV_RLL     1.000000

and a plot of pitch vs. elevator demand in QHOVER and FBWA:

I also noticed that your elevator demand is around 50% up in level FW flight. It might be helpful to mechanically trim them so that is closer to servo neutral to avoid saturating.

Also, there is a large imbalance between motors 1 and 2 in Qmodes. Any idea what is causing that?

Thanks for analizing the log.

Can you explain what this means (elevator), please?

I will analize the imbalance of the mots.

AETR.Elev (in my plots) is the attitude controller demand for elevator control surface (pitch axis) deflection (the elevon mixer uses elevator and aileron demand to generate elevon_left/right).
The range for Elev is +/-4500 so 2000 is nearly half of the available servo travel, meaning you have much less “up” available than down. I set up my flying wings so that servo neutral provides the amount of up elevon necessary for level cruise flight.
I’m not sure what standard practice for the Skywalker X8 is… maybe @MagicRuB could comment on his normal configuration.

Thanks for the explication.
I have a Skywalker 6, span width 1400 mm, smaller than Skywalker 8.
I set ServoX_Trim to 1500 when the elevons underneath are flat with the wing profile.
The elevons can move +40/-30°. In level cruise flight the elevons are approximately 10° up.
In Accel level calibration the wings are pitched up 5°. Thats how it flies level with ~40% ThrottlOut.
The weight 2925 gr. There is no manual delivered with the Wing. The CG is shown here somewhere
in the Internet.

And calculated with ecalc.

Besides this Project I have no experience with Planes.

Will try it also in next test. But actually bad wether.
Thanks for help.

No idea why this imbalance for a short time. Roll command is longer.

Here the correct STL File for the Right Base Unit.
Base Unit R.STL (560.7 KB)

Hi! Hello everyone, I am from China, I’ve seen your sharing recently. Thank you very much for your dedication! I’m building a two axis aircraft. I’ve made two buckets under the motor and made a wind pendulum under the buckets. The firmware used is VTOL tailsitter, but I have a problem.
firmware: apm4.0 model: VTOL tailsitter problem: in qstabilize mode, aileron steering gear is in neutral position before flight control unlocking, and it can work normally. After unlocking, push the pitching lever without moving the throttle lever, and the aileron steering gear will work normally. When maintaining the absolute neutrality of the yaw channel (basically impossible), push the oil valve lever, and then turn the pitch, the aileron steering gear will also work normally, but when turning the throttle, it is easy to move to the yaw channel. Once the yaw is touched, turn the pitch lever a few times, and the steering gear will be silly. The specific situation of foolishness is as follows: the steering gear will pull the two ailerons to the opposite pole. At this time, turn the pitching lever and move forward: control one steering gear to pull the aileron and move backward: control another steering gear to pull the aileron. This problem only occurs in the vertical mode. In the fixed wing mode, the steering gear is working normally.Hope to get your help! I’m sorry, I don’t know English. I translated it with translation software. I hope it won’t cause you too much trouble

Welcome to ardupilot. Yes, the translation is hard to understand. Maybe some photo or video would help.
I understand you have problem with servo reversal. Maybe this page will help
My advise is to test first in manual mode that control surfaces move in the right direction. If this first step is OK, switch to FBWA and move your plane around all axis to see if control surface movements are correct.

It sounds like you’re observing the yaw error integrator “winding up” while sittiing on the ground. Don’t worry about it; the integrator is reset when you take off.

I don’t know if that will translate to Chinese very well…