Dual-motor tailsitters

good to hear!

Leonard and I have been working on making pitch auto-tune of tailsitters work better. It is better now than it was, but still not great. For a vectored tailsitter it is worth a try and I’d be intterested to hear the result. For a non-vectored it is likely to do very badly.

The left column is the result of the qautotune and right column is corresponding previous setting.
A big difference can be seen for Q_a_rat_yaw_I. I found a higher value was better in order to avoid unwanted yaw when there is wind gust. Today there was hardly no wind so I cant say.
OK, I will try with a vectored tailsitter.

3 Likes

I tested the pitch autotune and made a report in the blog.

About the qtailsitrllmx parameter I am afraid there is a bug.
I begun with 2000, went to fly and no problem so far but 20° was still too much so I landed my wing and set it to 1000. Then I made a test holding the wing vertically and in that case the neutral roll position was around 45° to the left. I have unplugged the battery, made the test again, same result. Them I went back to 2000 and tried to fly, no problem.

hum odd, as far as the code if it works at 2000 it should work at 1000. This was your only change? I will try it SITL.

Gents,
Long time lurker and working on tuning my tailsitter. Just a quick question. When I transition in auto missions from Q mode into F/W flight, it pitches over, nose down about 45deg to gain speed, catches itself and carries on. It also does this when I am hovering in place and transition to FBW-whatever. However it looses about 20-30m doing this. I see several of you have very smooth transitions. What setting am I not adjusting correctly? I want it to just tilt over as it accelerates into the mission speed. Beating my head here. Thanks a lot!

yes this is weird, I have never seen this behaviour. Is is due to a lack of speed ?
did you set q_m_thst_hover according to the hover value of your aircraft ?
An other possibility is the pitch is strongly out of trim and the integrator take time to compensate. Is your wing nose heavy ? what airfoil ? what value of ptch2srv_i.You can compare PWM value of your flaps when neutral and when flying level. I think this is an integrator related problem but beware most probably the ptch2srv_I is too high and not too low. It can built a large error during the transition that take time to eliminate.

I have loaded arduplane.apj from the fmuv3 folder but it does not work. Top and bottom motor does not spin. This is not an ESC arming issue because when I set servo 7 to 70, ESC arm and motor spin but as soon as it set it back to 89 or 90 motor stop. The firmware number is V3.10.0 dev ef993be7

@losawing Sorry, I forgot to mention that when rebasing I had to change top and bottom motor functions to 110, 111. I don’t think there are any other changes to parameter values though.

Thanks for the reply. Yes, it is a bit of a pig and something we are developing at my work. It is about a 750mm wing and has high wing loading, but we have to work around some constraints. It works now, but I’d love to have smooth transitions. I plan to mess with it in the mission plan to get it moving to a WP in Q mode, before transition, because now it transitions from hover, but basically flips and catches itself. The PTCH2SRV_I is currently at 0.15 . I also adjusted Q_TRANSITION_MS to 5000 from 2000, but I don’t know if that impacts tailsitters at all. I’ll look at the PWM too. Thanks again for all of the insight!

Q_transition_ms is the time from hover to transition so it is important specially is your wing is heavy and need to accelerate. If you want your wing to get more speed, try to increase q_m_thst_hover.
Ptch2srv_i = 0.15 is about 10 time the value I have for my 3 wings. It could be the reason but be careful. Look first if your wing is out of trim. Did you made an autotune to tune the fw flight. It works very good.
The CG position is really critical, ±1% of the wing cord is important and ±3% is enormous.
A video would be great.

1 Like

As a bit of a explination of what happens in the transition, this is from quadplane.cpp

    // calculate transition rate in degrees per
    // millisecond. Assume we want to get to the transition angle
    // in half the transition time

so Q_TRANSITION_MS simply sets the target pitch rate for the transition period. Also the throttles are set using

attitude_control->set_throttle_out(motors->get_throttle_hover(), true, 0);

So when transitioning the throttles are just set the hover throttle. So if your seeing dip down when transitioning forward and loose altitude when transitioning back you need more throttle while transitioning. So you must increase q_m_thst_hover.

note that this will chance your gains a bit so it may be worth re-tuning after changing it.

Thanks guys. That makes a lot of sense. I really appreciate it and as soon as I can, I’ll post the details of the build. I suppose I can post that it’s a quad tailsitter that uses 4 motors in Q modes, but just 2 for forward flight. That’s the complication. It’s really nice so far, just the transitions are exciting. I’ve taken in all of your recommendations and I’ll let you know how it goes. Thanks again.

I think i have found the issue, this parameter is actual in degrees rather than centi degrees. So i guess it makes sense that 1000 did not work. You should have got a out of range warning in MP. The target angle is wrapped to ±180 so when you had it at 2000 you were actually getting -160 and 1000 would have been -80.

Its a bit confusing that this is in deg and others are in centi but the idea is to start moving towards more sensible units, the centi degrees is left over from the 8bit boards to get the number into a int rather than having to use a float.

Yes you found it. I flew with 10,20 and 30 and with pitch angle up to 70° and this is perfect.
It is now so easy to fly a kind of knife edge at only 3 meters above the ground making circle or drawing 8 figure, that’s a lot of fun. I will make a video.
But there is no warning when 1000 is saved and no indication of the range. This is dangerous as it will cause a crash at take off.

1 Like

Did you not get a out of range warning in mission planner?, perhaps we should just have a hard limit in the code of 180.

no warning, just the message “the parameter is successfully saved”
A hard limit in the code is a security but it does not replace a description of the parameter and its range.

odd, I got a warning when I tried so set it out of range, this is what jogged my memory about the units, are you using the latest beta of mission planner?

sorry, I did not knew that I must use the beta version of MP. I uploaded the beta this morning and now I can see the unit, the range and the description of the parameter and when I try to enter 1000 I am prompted that the parameter is out of range. So every thing is in order.

Thanks for the response. I ordered these and they should be in the next week or two. I’ll let you all know how they go.

Happy new year to tailsitter fans. Again a cold and cloudy winter day but no wind.

a first video to show a kind of edge flying with q_tailsit_rll_mx set to 20. Sorry again @iampete for the waste of time. Imagine the skill that would be required to fly this way without assistance…


A second video of auto flight with take off and transitions. Last WP was around 30m before the land command. Back transition is not as smooth as it is from fbwa but it works. The descend is a bit critical, OK with no wind but become ugly with about 10km/h of wind. I dont want to try with more wind… the hover stability in auto mode is not good. Is someone know why ?
2 Likes