Tiltrotor support for plane

Hi all,

Would someone kindly confirm or deny if current the following is supported (or not) in arduplane.

Quadplane with 4 motors (typical H fram setup) with only the front 2 tilting. So when in vtol mode is a basically a quadcopter, and when in fixed wing mode it is a twin tracktor (with the back motors not doing anything).

I don’t see anywhere (in documents) that it is not supported, but someone led me to believe so and also everyone here seems to be only doing some triopter variation (with single rare motor), or all for motor tilting.

And bonus question is if assist mode does anything for such setup?

Thank you.

yes, that will work with the current code, just set the tilt mask correctly

yes, the Q_ASSIST code will work

1 Like

@tridge

Ohh that is so sweet, thank you. Welldone man and the entire team. Time for another donation :wink:

So this quote from an email I got from somone on the matter is BS “QuadTiltRotor is not supported by Ardupilot (APM) and PX4 official, but the official supports Y3/Y6 TiltRotor (support is incomplete, and it can barely flys)

Are the VTOL abilities and functions of Ardupilot mirrored in PX4?

Simple answer is “no”. There is no common code at that level.

Hi @tridge , I am a bit confused if the Ardupilot firmware now support quad tiltrotor? I am trying to design a quadplane, where the front two motors tilt for transition (and the rear two motors are purely for VTOL). Although the official Ardupilot website says it’s supported (http://ardupilot.org/plane/docs/guide-tilt-rotor.html), a community member told me that it’s not supported yet. Could you please clarify this?

This is “My Little Grasshopper”, one Mini Skywalker VTOL Y3. The first test was perfect. Thanks for your advice…

First test OK:
https://youtu.be/-miLN1LOdx0

On my website you have all the assembly data. You also have a link to download the .stl files:
http://www.sop-fpv.com/tecnologia/item/28-mini-skyhunter-vtol-y3-parte-i

msh_vtol_y3_tilt_rotor

That was exactly what I asked just now, you can see he said YES.
Seems someone is spreading false rumors.

1 Like

My bad! I read quite a few posts on tricopter tilt planes here but I somehow missed your post on the quad-type. That’s great news… Thank you!!! :smiley:

Was it Kris that gave you the false information too?
Also, can you tell me (even if privately) about your project? Maybe we can support each other.

@pompecukor, Yes that sounds like a good plan. I am new to this forum; perhaps, you could write me a private message and we could take it from there.

image
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:
SRV_Channel.h
k_tiltMotorLeftFront = 89,
k_tiltMotorRightFront = 90,
SRV_Channel_Aux.cpp
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

@tridge

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.

Or

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
0x00001111=15
[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.
Cheers,
Ray

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
https://www.youtube.com/watch?v=piBjsb7iwkU&feature=youtu.be

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.