Dual-motor tailsitters

Thank you,

one build for KakuteF7

1 Like

Be careful if you use Q_TRIM on non-vectored.

Hello,

I think the whole point of this new code is to make a new and better tuning of the crafts QPIDs and the HorisontalPIDs than before.

I loaded the new Kakute f7 code to my tailsitter and changed
Q_TAILSIT_GSCMSK to 4 and the the Q_TAILSIT_DSKLD to 14

I ended up with 14 since should be total kg weight of craft / mˆ2 of total prop area on craft.
. there are two props at 6.0x4.5 inch size
. r(adius) = 3 inch = 0.076 m
. Area = PI x rˆ2 = 0.0181 mˆ2
. 2 props = 0.0363 mˆ2
. weight = 0.523 kg
. Q_TAILSIT_DSKLD = 14.411 kg/mˆ2
. but the prop wash ont cover 100% of control surface, so I estimate with eyes 95%
( will try upload a pic to show the downwash over the control surfaces.)

. 14.411 x 0.95 = 13.7 kg/mˆ2
Then just round it off to 14.
Looks correct/in the ball park at least?

I made no other changes, maybe I should?

This tailsitter do have a digital airspeed sensor connected.
First launch was just in Qhover mode and then transition to FBWA to see if it could fly at all. My plan was to move into qAutotune or at least Autotune to gain some experience of the new code, if it can change the tuning PIDs. However, when I was about to change into Qhover after flying around in FBWA I crashed in a tree.
I do not know if you can learn anything from the log of that flight,
but here it is anyway.
https://drive.google.com/file/d/1OAFxZV_10Lz5giAS-HWmJ_96dN9dCGxm/view?usp=sharing

Next time will try may some Qautotune and/or Autotune.

Yep, that is correct. Will get you a nice starting point, you might find that you can get it better with some trial and error. You will have to test the extremes of the envelope to see the difference. High speed low throttle and low speed high throttle are the two that are most likely to show issues.

I would not expect Qautotune to work well/at all for pitch and yaw.

Thanks for testing!

The crucial Q tuning I think is for Pitch axis (yaw and roll never an issue).
Better to use old fashion manual tuning on Pitch PIDs then?
But why don’t you expect the qautotune to work well? and what about for Autotune in plane mode?

Glad if any testing can help you :slightly_smiling_face:

I don’t recommend using QAutotune for the tailsitter, it produces bad results (tested countless times, even on the sim), at least with my tailsitter.
You can use it for Roll, where the correction is actually given by the change in rpm of the motors, but Pitch and Yaw work with servos, that’s why QAutotune struggles to work well.
Instead, I suggest you tune with the transmitter based tuning method.
To give you an example in my tailsitter with QAUtotune the parameter Q_A_ANG_PIT_P sets it to about 3, where instead the optimal found manually is 24.
If you want an excellent stability on the attitude you have to act manually.

4 Likes

Thank you @marco3dr that will save me lots of time :slightly_smiling_face:

@marco3dr, is there an order in which you recommend tuning Q_A_* parameters? In particular, Q_A_ANG_* vs. Q_A_RAT_*? The documentation for copter and (fixed-wing) plane may or may not apply to tailsitters.

Start with these values on the pitch, if you have the chance to carefully hold your tailsitter start throttling in QStab and see if the elevons go into self-swing.
In that case you have to lower the value of PI.
Once stable values are reached, it takes off and starts to raise D until they self-oscillate, find the correct value so that everything is stable.
At that point, always in flight, raise Angle P until you detect a good value.
It is more difficult to explain than to do it, you will have to spend hours to reach a good compromise.
Much of the tuning is done by analyzing the binary log.

Q_A_ANG_PIT_P,4
Q_A_RAT_PIT_P,0.2
Q_A_RAT_PIT_I,0.2
Q_A_RAT_PIT_D,0.001

3 Likes

Thank you, @marco3dr. What should I be looking for in the log? Here’s one from today. It’s a log way from a stable hover. As I’m changing Q_A_RAT_PIT_P with my TX knob, which value in the log reflects this value?

https://github.com/arikrupnik/ardupilot-config/blob/master/logs/FIXED_WING/4/2020-11-16%2013-26-51-tx-tune.bin?raw=true

First of all look at the ATT section, quite disastrous in your log.

Yes, that’s the right word for it. It’s even visible from the ground when flying. In this log, the airplane got into a spin when I tried to transition from QHOVER to FBWA. I had to switch to manual to get out of the spin before I could go into FBWA again.

So what recommendations would you have for improving my disaster?

Reading this whole discussion well, even if it is very long, might inspire you… :upside_down_face:

1 Like

I have a question about RC Transmitter Based Tuning:

" You can tune multiple parameters in one flight by setting TUNE_PARAM to one of the “tuning set” parameters. For example, if you set TUNE_PARAM to 101 then you will have 4 different stages to your tune:

  • Roll: Rate D
  • Roll: Rate P and Rate I
  • Pitch: Rate D
  • Pitch: Rate P and Rate I

notice that Roll: Rate P and Rate I is actually two parameters in one, controlling both the P gain and the I gain for roll. This follows the normal advice for MultiCopters that you should keep the P and I values equal when doing a manual tune."

is this applicable for a Dual Motor Tailsitter?*

P & I at the same time? maybe it would work for a Tailsitter Copter but one DMT does not have multi type motors*

Maybe this method is better?

"manual method is to start with a low D value then increase P until oscillations, reduce P by 30%, then increase D until oscillations, reduce D by 30 %, increase P again as much as possible."

You can also tune them individually.

Yes, but I was referring to the sequence of P_I_D and the sequence of axes

I read in this DMT forum that transitions are from QHOVER <> FBWA.
But, why not QHOVER <> CRUISE / FBWB?

Hello, I have asked in the Arduplane 4.0 forum but I post it here because it is one DM tailsitter:

“PreArm: DCM Roll/Pitch inconsistent by xx deg”

https://discuss.ardupilot.org/t/prearm-dcm-roll-pitch-inconsistent-by-xx-deg/65181

EDIT: SOLVED

The problem was something intrinsic to the Tailsitter. I had read it one thousand times here:

But by not observing EKF errors and the compass was working properly, I thought there was another problem.

For months when I was documenting about Tailsitter, I asked if it would not be better to turn the compass 45º towards the sky when the tailsitter is sitting. In this way we are not obliged to place it horizontally for a few seconds.

COMPASS_ORIENT = 100
COMPASS_CUS_PIT = -45 or 315

I think I will opt for this compass position.

I have been struggling with the Loiter tuning (tuning in general) on one of my TVBS (this was an early vid…its tuned in roll a lot better now…pitch is the problem https://youtu.be/0Pw0UojYRfo)…it flies okay in QSTAB…and loiters in place fairly well, but anything other than slow VTOL speeds are very squirelly and AUTO mode VTOL operation is a disaster…I can VTOL takeoff, and transition into FW fine, but auto transitions back to VTOL and landing are all over the map…

It seems that pitch is not tuned well, and I have no idea what is up with VTOL loiter position tuning…

I have been trying to get a good pitch tune and good loiter vtol position changes for several months…

we really need a good TVBS tuning guide for the wiki, unfortunately, I have not succeed in getting competent enough to write it up…tuning a normal quadplane is pretty straightforward, but getting the tilt rotor setup tuned properly is escaping me…

here are a couple of logs with QSTAB, QLOIT and vtol AUTO segements…the roll attitude control seems acceptable…the pitch is not…and loiter is horrible…suggestions from anyone that has been successfully through the TVBS tuning process would be most welcomed…

its funny, my larger C1 Chaser TVBS was a pussycat without much tuning required…and performs much differently…https://youtu.be/LixSx6wSnH4

logs:


I still have a TVBS flying, the one you can see post 1034 but I never really tested Q_loiter or Auto VTOL or transition to Q_loiter with it.
There is a lot information in your post. From your experience, what would be a step by step objective ? I also observed that Q_loiter is less stable than Q_stabilize and max lean angle cannot exceed 45° whatever requested speed.
Did you read post 2079 from @marco3dr ?