Dual-motor tailsitters

Make again accelerometer calibrations carefully. Normally, the pixhawk should be able to sense a drift and compensate provided this drift is linked to a bad equilibrium and not due to the wind. Where is the CG according to the thrust line ? Maybe you need to rise Q_a_rat_pit_I to increase the ability to compensate for bad equilibrium (I suppose the drift is along the pitch axis).
Yes, you have to increase q_a_rat_pit_p to the maximum in order to improve the pitch response. The maximum is when you get oscillations. After that you can tune pit_d and see if you are able to increase again pit_p. What is the distance between the CG and flaps ( I mean the projection along the longitudinal axis) ? If this distance is too short, you can expect more a translation than the desired rotation. Also increase the flaps deflexion up to Ā± 45Ā°.
Are your servos fast enough and linkages rigid and without slope.

1 Like

@losawing I rebased my latest quad tailsitter code onto master (there have been a lot of changes since I last worked on the stryker_quad branch) and ran the result in SITL using a RealFlight 8 model of a quad tailsitter. Backtransitions consistently take about 3 seconds to complete, and I havenā€™t seen any evidence of software bugs yet:


The new branch is https://github.com/kd0aij/ardupilot/tree/pr-quadTS
and the parameters I used in SITL are here: https://drive.google.com/open?id=19SDMbb4irSJrOeBXA1an_yw6xAZaWnQn

When I have my new airframe ready to fly, pr-quadTS is the branch Iā€™ll be using.

ā€“Mark

My vectored Tailsitter shows a similar Transition with FW V 3.9.2 but without Roll.
But why had it to Roll 20 Ā° in your Version?

  • Otto

@Mick_McNamara
I forgot to mention, for tuning pitch PID:
1-begin with q_a_rat_pit-d almost 0 (0.0001 typical) because you can get oscillations from D and can get confused where oscillations come from. Increase P as much as possible. At the end a small amount of oscillations only from time to time is acceptable.
2-set q_tailsit_thscmx=1 , if higher you get oscillation at low throttle and you will not be able to increase P.
3- set q_m_thst_hover correctly.

1 Like

@kd0aij
Thank you for this work.
I think there is a bug somewhere probably not in your code but maybe a bad interaction.
I am wondering if this can be related with a bug I reported in a previous post 1034 (third video). Because the problem seems to be related to oscillations during the transition. The video shows oscillations when I switch to Q_hover. A lot of oscillations can also be seen in my jetwing log during transition, this is strange because I had no oscillations in any fw mode neither in hover mode.
I still have my test wing to test your quadTS branch. I will see if I am able to compile it.
I am very impatient to see your next aircraft.

That roll was commanded by a stick input, as the red trace shows.
Other transitions show max roll deviations of about 5 degrees during the transition.

I asked because with V 3.8.5 I had 90 Ā° Yaw without stick input during the transition.
After the transition the wing showed in an other direction.
With V 3.9.2 this ugly behavior has disapeared.
Otto

Independent roll and pitch angle limits have just made into master.

Pitch angle is still set but ANGLE_MAX. If none zero TAILSIT_RLL_MX limits maximum roll angle. This allows large pitch angles in Q modes while limiting roll.

1 Like

Another usefull option. (Like Q_TAILSIT_THSCMX) :slight_smile:
Thank you.
Otto

Thanks for all your help.
Have been finding it hard to do some testing due to windy conditions but was able to get a short flight in the other night.
I set q_tailsit_thscmx=1 as suggested and it flew very poorly with motors oscillating badly.
I have noticed that it is very unstable in any wind as it weather cocks badly.
I hope to test a transition next week weather permitting so will Keep you posted.

https://youtu.be/4L1my6DKMiA

Dose anybody know how to get the Dashware Data Profiles /calculators to show up in the data values of the gauges drop down selection box?
Having no luck

Did you add the appropriate ā€œvalue Inputsā€ in the Gauge Designer (double click on a gauge) ?
Dashware is not so easy, itā€™s a challenge for non flyable days :slight_smile:

what do you mean by motor oscillating? I do not see motor oscillations in your video. Just some instability with yaw (earth frame) axis. Maybe you need to increase q_a_rat_yaw_p and I. Also I would try to increase Q_a_rat_rll_d as you wing roll from one side to the other. Your wing already fly correct but it needs a little more tuning before testing a transition. One axis by one axis try to increase P until oscillations. Begin with pitch, then yaw and rll at the end.
The most critical is the CG position. I found it is very good to have the CG exactly at the 1/4 of the wing cord measured behind the motor. The goal is to have the CG at the neutral point of the wing section submitted to propellers wash. The important question : is this CG position compatible with the fixed wing flight ? For that the CG must be in front of the 1/4 of the wing mean cord with at least a margin of 3%.
Q_tailsit_thscmx is a parameter which was added lately because all q_a_rat gains are a function of 1/x where x is the throttle level. It means a low throttle all gains become too high and cause flaps oscillations. Q_tailsit_thscmx limits gain increase by a factor of its value: if 2, gains cannot be higher than 2 time. The central throttle value around which gains are modified according to the 1/x function is q_m_thst_hover.

This is my last built, my first non vectored tailsitter.
1 m span jwl-065 airfoil, 28 dmĀ², wing has a 5cm negative swept and motors are 75 cm apart.
flaps are 1/3 of wing cord and throw is about Ā±45Ā°, I use very fast digital servo
motors are sunnysky 2212 1400KV running an 3s.

As I said in the former post, the idea is to get the CG at the neutral point of the wing section under the propeller wash and at the same time the CG in front of the quarter mean cord of the whole wing. There are two ways to achieve this objective: a normal swept wing with motors close to each other and a negative swept wing with motors as far as possible from the fuselage. I have preferred the second solution because it should give more stability with yaw and roll

For the moment I have been able to fly a stable hover with Q_angle set up to to 5500. The wing is able to withstand some wind not as good as a vectored model but not so bad.

The moment of truth is coming as I will test a transition as soon as we will have a day without wind. Also I need to find a field without water, my lake is again too cold to risk a new winter bathā€¦

4 Likes

Good luck for the transitions.
Otto

Hello,

Iā€™m trying to analyze some unpredicted behavior diring the transition from hover to horizontal flight.
As on the screenshot,

the plane at the transition point tends to lean back, and then goes forward.

I have highlighted the area, when pitch is pulled up and down and up again.
I could not find here, was this addressed or not, Iā€™m trying now to find this also in the source code.

The data log is here:

Q_hover flight no wind, tuning is complete.
stability and achievable speed is beyond my expectations for a non vectored type

6 Likes

Congratulation, verry stable in Hover Mode.
And even with max Angle.
Otto

I dont think so. You are probably the only one testing auto mode with a tailsitter.
Is your wing flying Q_hover and FBWA ?

thank you Otto,
Tailsitters are a mix of aerodynamic aspects for longitudinal stability and amazing added functionality from ardupilot. Both aspect are mandatory and there are so many parametersā€¦the result is not easy and sometime frustrating but so interesting.

Looking very good! If you like Iā€™ll do the dashware osd for you. Just send me pm

Finding a cg that works in hover and also in FF is the main difficulty. Iā€™m curious how your tests going on. Actually planned a non vectod one with kind of the same airfoil myself as next step. Came quite far with the last one and want to investigate the influence of the airfoil. Had a symmetrical one last time.