Tiltrotor support for plane

Hi All,
My ‘flying brick’ has had a number of successful flights and has almost successfully transitioned, but I have now run into some programming problems I hope someone can help me with. It is using the Tiltrotor code but I have added to it the capability of elevator and aileron control via the tilt motors when transitioning and forward flight. This code worked well for a couple of months but when trying to do a recent update the wheels fell off. The pitch tilt servos began to output only ~20% of range for no apparent reason. I have since downloaded the latest Arduplane (24 May) but have not been unable to get back to where I previously was.
The original Aurduplane code was downloaded January and from there I added independent front tilt servos:
k_tiltMotorLeftFront = 89,
k_tiltMotorRightFront = 90,
case k_tiltMotorLeft:
case k_tiltMotorRight:
case k_tiltMotorLeftFront:
case k_tiltMotorRightFront:
In Tiltrotor I have duplicated the outputs configured to the front servos and it worked well for a while, however when I make other code changes the front servos range reduces to ~20% of original.

The other problem I am having incorporating in the new code is adding parameters. I had succeeded previously but am now failing miserably. The code compiles but it crashes the Pixhawk 2.4.8.
Quadplane.h under // tiltrotor control variables
AP_Float r_aileron_gain;
AP_Float r_elevator_gain;
Quadplane.cpp added to AP_Param::GroupInfo QuadPlane::var_info2[] = {
AP_GROUPINFO(“R_AILERON_GAIN”, 3, QuadPlane, tilt.r_aileron_gain, 0),
AP_GROUPINFO(“R_ELEVATOR_GAIN”, 4, QuadPlane, tilt.r_elevator_gain, 0),

I would appreciate some help so I can move forward with this project.
Cheers, Ray


Just to reconfirm about the support.

This a a direct quote form a respected member here, that has developed his own fork. He has shared for free in his past, so it cannot be any thing malicious. He is saying that the options to configure quad tilt is there, but that i will NOT work in real life. This is what he wrote after I told him that you confirmed that it is working. Do you Tridge infact know of anyone that has used the official firmware with such setup? I really have no way of testing it without risking a crash. We have not toys to test it on.

It’s impossible.
Currently, only Y3/Y6 support only partially.
The other Quad Tiltrotor is definitely not supported.

I can tell you with certainty that the official does not support it.
You can try to follow what was posted on the official site
If you have a tilt-quadplane where all 4 motors tilt, then you should set Q_TILT_MASK to 15, which is 8+4+2+1.


If you have a tilt-quadplane where front 2 motors tilt, then you should set Q_TILT_MASK to 5, which is 4+1.
I can tell you with certainty that it will crash.
If you’d like to verify what I said, I hope you used a cheaper plane.

Can you help clear this up?

Here is what I replied:
should be: tilt-quadplane where front 2 motors tilt 1+3 =4. Or for all 4 tilting is 1+2+3+4 =10. (NOT 5 or 15 a he wrote) for tilt mask.

Then he replied this:

Motor 1 and motor3 the bitmask is 5
0x000000101 = 5
not 1+3=4 , it‘t bit mask
[14:26, 5/28/2018] Wayne Taiwan: motor1&2&3&4 is 15,not 10
[14:26, 5/28/2018] Wayne Taiwan: It’s binary not decimal
[14:26, 5/28/2018] Wayne Taiwan: so
the Y3 tiltrotor q_tilt_mask is 3.(dec)
Binary 0000 0011 =3

So what is true and what is not? Anyone is free to chip in.
The truth of the matter is that I am yet to find any quad-tilt (just front motor or all for tilting) that is claimed to run of official arduplane. All I see are tricopeters. This is even true for this topic.
The only one guy that I know of that did build such (and tried it last year November) had the ESC/Motor fail on his first transition attempt, so no experience from there.

Pompecukor, I think it will work as per Tridge’s directions. I’ll give it a try on my quad tilt model this weekend by re-setting the tilt mask. Quad tilt is in the code. It is achieved by setting the two servos on the left to ‘tilt_left’ (or so), and same on the right.

That would be awesome.
Please kindly give feedback after tarnsition in flight.
But please note. That what that guy is saying is not that you cannot set it up. But rather that it does not work correctly and transitions and bound to fail. Hence the “use cheap model” ending.

For a Quad-Tilt Q_TILT_MASK is 15.
@stundenblume built a quadtilt a year ago:
Tiltrotor support for plane

Regards Rolf

There are two flight videos I have seen of successful flights of quadplanes where all 4 motors tilt to provide thrust for fwd flight. One is the video from @studenblume that @rolf shared, and another is one shared with me privately that I can’t share. I have also flown them in the RealFlight8 simulator successfully.
There are multiple ways of configuring aircraft like this, and it is perfectly possible that we don’t support a variant that is being used by the person you have been discussing this with.
Some key things about this sort of aircraft:

  • we don’t currently support doing vectored yaw with this type of aircraft. So yaw when hovering is done in the same way it is done with a normal quadplane. You should leave Q_TILT_TYPE=0
  • the way its setup at the moment you should have a single logical tilt servo. You may of course have 2 or 4 servos in the aircraft, and they can be on separate output channels if you like (so you can trim them separately), but they will all be treated as a single logical tilt servo. You should set SERVOn_FUNCTION=41 (for motortilt) on all of the servos
  • we currently assume that any motor that tilts should also be run in forward flight. We don’t support running only a subset of the tilted motors in fwd flight (that has been requested by a couple of people)
  • when doing your first test flight I’d recommend using QHOVER and FBWA only, and setting Q_TILT_RATE_DN and Q_TILT_RATE_UP quite low (say 20 to 30 degrees/second)
  • make sure you do your test transitions at a good height - say 40 meters or more, so you have time to recover

These types of aircraft are quite difficult to tune. Take it slowly and carefully.
Good luck with it!

Awesome news Tridge. Thanks for feedback.
Vector yaw is not a real issue (albeit it is supported by the fork of that guy), normal (quad) yaw is fine, we are talking just take of and landing.

BTW his is flying normal x4 with just forward motors tilting. So it is not some special case or setup or anything like that.

Thanks for sharing Rolf

On a completely different matter, will it not make sense to open a Part 2 for this tread. It takes forever to load/scroll to the end and will only get worse. So like open new called “Tiltrotor support for plane Pt. 2” and then have the link to this one in the first post, so nothing is lost.

I am happy to do it of course, just wanted to make sure you guys think it is ok.

yes, and it shouldn’t really be under “Development Team” any more, as it is not a new feature.
What about we add a “VTOL Plane” section, and within that have “QuadPlane”, “TiltRotor” and “TailSitter”?

I think that is an excellent idea tridge. To open VTOL Plane section. Who came make such a thing happen?

With a vectored yaw triplane, if I envoke autotune while in the hover will it do copter autotune and then while in fixed wing mode will it do fixed wing autotune?

It only performs autotune in fixed wing mode. Be carefull: if you envoke autotune while in hover, the plane perhaps starts forwardtransition (? im not shure, but switching form hover to FBWA starts forwardtransition and autotune is a fixedwing mode)


Thanks Rolf. So no autotune for the Copter part of VTOL? I’ve got a Nimbus VTOL but it doesn’t fly so well in Copter mode, so I’ll have to do the tuning the old fashioned way.


Thank you for the new section. I have opened a V2 of this same topic. Kindly close/lock this one, so that new post cannot come here, otherwise as you are seeing, people might not move.

@everyone else

Let us continue the discussion here: Tiltrotor support for plane #2
This original, very useful, but too long topic is linked in the first post there, so nothing is lost.

I have a question. When the Pixhawk is powered, the tilt-rotor motors perform one test moving down and up. Is there a parameter to deactivate this movement?

I’ve put together a tricopter VTOL wing using the Rainbow 2 from Banggood and robot servos on the tilt mechanism.

Hovering is very stable, though it took a large amount of D gain on the yaw axis to stop yaw waggle.

The first transition to FBWA mode didn’t go well… There was insufficient elevator response and the reflex position of the elevons should have been more positive. I’m planing to replace the foam elevons with balsa ones, which ought to be much stiffer, too.

Here’s a short narrated video showing the build and crash.

Surprisingly, all the components (motor mounts etc.) are fine and just need to be re-glued to the airframe.

Happy to share the param file if anyone is working on a similar build, and to take any tips if anyone has any suggestions based on the video.

Just a thought, your rear motor tilts down and goes then horizontal when in FF, would it not lift the tail and push the nose down when transitioning making the elevons seem ineffectual?
And may I ask why the rear tilting motor anyway (adds extra weight and complexity), it’s not necessary?

That’s a good question. I think the nose being pushed down is countered by the front motors simultaneously tilting, but I’m happy to be corrected.

The idea behind tilting all motors was to be able to experiment with 3 motors for FF or only 2. This is a simple change to the servo outputs to disable the rear motor tilt and a change to the tilt mask.

You’re right that the rear tilt servo adds weight, but on this aircraft with its short chord length, the weight of the rear servo is needed to balance the plane. So what might seem complex in having a rear servo was simpler than extending the central pod or designing and installing a boom and mounting hardware…

Turning off the rear tilt is something I’ll try.

I need some help, my motors don’t work when I try fly in any Qmode, but in plane mode work well