Dual-motor tailsitters

Hi Guys
Interesting reading about the poor weather you are having and not being able to fly. I have not been able to get any flights for the exact opposite. Temps in the mid 40 deg celsius with strong northerly winds very unpleasant.
Was able to get out and do my first transition tonight with no issues. the wind came up late in the flight so was only able to do two quick hover to forward transitions.
My wing is very light foam and is affected by the wind very badly so I am looking for a more robust air frame any suggestions.
Thanks

Congratulation, for a real Tailsitter verry stable. May be, difficult to do better without Tilt Motors.
With my vectored Tailsitter I can reach 25 kmh vorward speed in QHover.
You can hear the wind.

1 Like

Great news, I made 2 more flights with q_acro and broke only one propeller. This time I succeed to fly almost horizontal, left turn is OK, right turn need more training. I think Q_acro might be the best mode for a tailsitter provided the pilot has the skill. Because the wing fly in a continuous fashion whatever the lean angle and because stall does not exist anymore whatever the speed and the attitude. That’s really interesting !!
The maximum lean angle seems to be disabled, is that true ?
As you said, gain scaling is not perfect because oscillations occurs when speed is too high. For sure, airspeed is the solution.
I had again, only one time, a short throttle cut.

1 Like

There is no simple answer to your question. Your wing fly already well and this is a success. Thank you for sharing. Only at the end of the video the last transition is not good and your wing roll badly. Probably you have to increase all Q_a_rat_yaw gain. Try to increase them as much as possible, yaw is the weak point. For sure, larger control surface will improve the control but beware this is like increasing gain. Also you can try to move backward the CG, 3mm by 3 mm. Pitch control in hover should be much better at the expense on fixed wing flight stability.

congrats… looks great

Congratulations, glad to hear Qacro is flyable with a real model. And yes, there is no constraint on attitude in acro modes; you can do loops, rolls, inverted flight, spins etc. But it does remember the attitude you want; if you point the nose vertical, chop the throttle and tumble a bit without moving the pitch stick, just reapplying throttle should bring the nose back to vertical.
I’m working on a method to reduce the oscillations without an airspeed sensor, but let me know if you add one and I’ll pull in @iampete’s patch to use it.

I rebased your quad stuff on it here,

was two weeks ago tho, so might need some updates


This a q_acro test. Takeoff was with q_hover, switch to q_acro after 5s. Fixed wing flight is very stable, better than with fbwa, I don’t understand why but but this is nice. I wanted to film a loop but the flight ended earlier then expected. I have no more usable props, so I fly with too small propellers on top and bottom motor and the pitch stability is not very good. It is important to have the right thrust ratio between wing motors and vertical motors.
I have now I week off, I will add the airspeed sensor when I come back.
1 Like

Thanks for the video. It’s nice to hear that qacro has good stability in forward flight; that confirms my observations in SITL. Rolls and inside loops work fine in the simulator, although there’s a lot of overshoot in roll, which indicates something wrong in the attitude controller. Probably has to do with the way the copter code handles yaw.

Sorry about the loss of control at the end. If you think it indicates a software bug post a log and I’ll look for the problem.

I’ve been testing the airspeed sensor options in SITL, and should have something ready to flight test in the next week.

@losawing @iampete New “copter tailsitter” binaries here: https://drive.google.com/open?id=1l_PMXpI779nPMB29gL-kbAb_w2e1Clj2

pr-add-qacro now has better gain scaling based on angle and throttle. It will now use airspeed instead, if you have an airspeed sensor and ARSPD_USE=1

SITL demo of QACRO with attitude/throttle based speed scaling at up to 100 kph:

A new mode is in work to make stabilized Q modes fly more like a plane when the nose is pitched down:
pr-bodyframe-yaw changes QHOVER/QSTABILIZE to do body-frame roll (controlled by the aileron stick) and euler yaw controlled by the rudder stick. Set Q_TAILSIT_INPUT=2 to use this.

When hovering with the nose vertical, use the rudder stick to control yaw rate exactly as with a multicopter. The aileron stick will also affect yaw, but only as a deviation from the current yaw angle (heading) and in the opposite direction. When you pitch forward, the rudder stick still controls the heading, but the aileron stick will now roll the aircraft by +/-Q_YAW_RATE_MAX (this defaults to 100 deg, so you might want to lower it) Also, note that the rudder stick will be using the roll limits, so yaw rate will be +/-Q_TAILSIT_RLL_MX or if that is zero, Q_ANGLE_MAX.
Also beware that the units for those are degrees and centidegrees, respectively.

1 Like

Several new features for tailsitters have gone into master recently:

  • Hover thrust learning: parameter Q_M_HOVER_LEARN
    0: disabled, 1: learn, 2: learn and save

  • “Copter” tailsitter support: parameter Q_TAILSIT_MOTMX
    set this parameter to indicate that this is a copter tailsitter and specify which motors should be active in fixed-wing modes

  • QACRO mode: this is the copter acro mode for quadplanes; it is similar to flying a plane in MANUAL. Roll, pitch and yaw controls are all rate mode.

  • “Bodyframe roll” tailsitter input type: Like FixedWing, but the aileron stick controls roll when the nose is pitched down (always acts on the plane’s roll axis). This is useful for flying around in QSTABILIZE or QHOVER modes.

  • Additional gain scaling: this allows higher airspeeds in Q modes by reducing control surface throws at high tilt angles and/or at high throttle levels. Initial support for an airspeed sensor is also included.

Documentation needs to be written or expanded to cover these features; suggestions and contributions would be appreciated. I will also try to generate some more SITL demos of the new functionality.

Thanks, that’s good to know.
I had not time enough to make a flight test of pr-add_qacro and pr-bodyframe-yaw.
Airspeed is now added to my wing but I still have to calibrate it. Also I made a short hover test and saw with the log that the position of the pitot tube is not perfect due to ‘shadow’ effect. Probably the only one correct position is the wing nose.
I will keep you informed of my progress but I will not be very quick as the weather is going to be very windy for at least one week.

The no-airspeed gain scaling that is now in master is working well for me in SITL with several different tri and quad tailsitter models. It has no parameters at the moment, but if you find that its effect is too large or small I can add one or more parameters to tune it.

The gain scaling based on airspeed sensor measurements also has no parameters at the moment, and it probably will need some to work well, but @iampete has implemented a method that takes advantage of the existing Plane code for roll and pitch. That should soon be available in master also.

Your flight logs will be very useful for assessing the accuracy of a pitot tube in VTOL flight regimes (assuming you get some calm weather) and in deciding how to improve the gain scaling logic.

Here’s a short SITL demo that shows how bodyframe roll works in QHOVER:

This is a log of a flight I made yesterday evening with pr-add-qacro and arspd-use=1. There were almost no wind

You will see that gps speed and airspeed match not so bad. The largest difference occurs when the wing yaw CCW probably due the the position of the pitot tube. You will see also that I had oscillations at speed higher than 8m/s. I have to mention I use cheap analog low speed servo on this wing and I think the result could be better with faster digital servo. Also I will try to lower roll gain as you suggested in a former post.

I did not have again the short throttle cut, did you find a solution ?

I think the throttle issue is still there, but I think it only affects QHOVER. I’m still trying to reproduce it in SITL well enough to isolate it.

It looks like the airspeed scaling is not quite aggressive enough, but this graph hints that it might have been OK at 16 m/sec, since the oscillation has stopped:

But maybe there was another variable I’m not accounting for? I’ve scaled throttle here from [0-1]. I just realized that the slew rate limiting is affecting both no-airspeed and airspeed cases; maybe that is the main problem here. There is a 5 second time constant for reducing the gain, and that was probably too slow. I’ll change it so that the slew rate applies only to the non-airspeed case, and add a parameter to let you set the maximum gain attenuation.

I had it one time with q_acro when the throttle stick was low. I have the log if you need it. Maybe you remember the post 1035, tridge corrected a bug. Could it be the same kind of problem ?

About your last video, there is a funny detail that can be seen with the trailing camera. Elevons are pointing upward most of the time. In ‘real flight’ it could be the sign of a CG too much forward.
Is the simulator able to account for such phenomena ?

In SITL, the throttles shut off in QSTABILIZE if the throttle stick is below a certain value, probably set by RC3_DZ (default 60). I’ve looked at the bug from post 1035, and there doesn’t seem to be another similar one.

The Stryker does need some reflex to fly level. I just played with airfoils and CG some more and it’s showing very little trim change with throttle and flies inverted with nearly the same elevon servo outputs. None of the airfoils I tried eliminated the need for up elevon; currently it is MH-70 11% and the CG is 5mm further back than before.

The RF8 physics model is very detailed, it would be interesting to try to model one of your planes as closely as possible and see how close the optimal CG and PID gains are to reality.

There are not a lot of data available about MH70 but the one I found suggest that as slick airfoil MH70 has a small negative Cm among the whole usable alpha range so the upward flap deflection seems to be very logical in order to keep the wing balanced with respect to pitch axis. This is where we can learn from glider pilot experience. If you have time I would suggest to test PW51 or Tp100 for higher maximum speed (and lower lift). These airfoils are designed with a Cm close to 0 and to allow the CG to be closer to the quarter mean cord thus lowering the flap deflection thus improving the ratio Cl/Cd.

Yes but I imagine it will be time consuming and I don’t think I can help.

This is what RF8 shows for MH70:

and this is a snapshot from the sim at 90kph with the JWL-065 airfoil that I used on the model of your Batwing:

Very little elevon deflection with that airfoil, but RF8’s polar diagram is hard to read.

That’s interesting, the RF8 polar gives the right tendency as Moment coefficient Cm is negative among the whole usable angle of attack range. The consequence of the induced upward flap defection is not about stability but mainly about lift which is lower than the one given by the polar calculated with no flap defection.
Nice to confirm the good behavior of JWL airfoil. Maybe it is a little outdated by comparison to PW51.