Servers by jDrones

Advice needed - Quadplane and big props

(Robin) #1

Hi,

I’d like to try quadplane using Cube and big props setup like 27"-29".
Any advice for the start, procedure and settings (parameters, tuning)?
I intend to use FW 3.9.8 and manual tune the quad part.
I’m mainly concerned about the quad ESCs response with spool-up time, spinning props fast enough to follow ATT.DesRoll and Pitch.
I was searching in arducopter section to find some info, but almost everything is related to Autotune (aggr, filt etc).

Questions about filters:
Q_A_RAT_PIT_FILT and Q_A_RAT_RLL_FILT are 10Hz by default. Should I go dawn to 5? Or it only matters with q_autotune in dev fw?
Thanks.

(Lau Yan Han) #2

Hello Robin, I previously tuned a quadplane with 29’’ props, here’s some tips that was picked up:

If you want to be gentle on the motors during spool-up (given the high inertia from the large props), you can increase Q_M_SPOOL_TIME. Mine were doubled from the default values and it had no problems.

The spinning props responded quickly enough to handle gradual changes in roll and pitch, so long as the PIDs are tuned correctly.

Not able to answer this; but they were left as default on my quadplane and had no problems with tuning.

Tuning of parameters for QSTABILIZE

As the documentation states, the most important set of PIDs to tune are your Q_A_RAT parameters:

  • Q_A_RAT_RLL_P/I/D
  • Q_A_RAT_PIT_P/I/D
  • Q_A_RAT_YAW_P/I/D

When you tune these params, perform the tuning in QSTABILIZE mode first. Doing it in QHOVER or QLOITER introduces additional layers of controls (height and position contollers) which will mess with your tuning.

What tuning method you use depends on the preference of each user. Personally, I like to use the following method:

  • Zero the roll rate I and D params, and set the P param to a low value
  • How low you want to set the starting P value depends on the thrust-weight ratio of your quadplane; the higher the ratio, the less aggressive your PIDs should be. Mine had a high thrust-weight ratio (for most quadplanes) of 2.41, so we decided on a conservative initial P value of 0.08. It turned out to be VERY conservative, but better to spend more time on tuning than to see the bird oscillating out of control!
  • Takeoff in QSTABLIZE, and give it a few gentle rolls. Increase the P value in small increments (0.05 for me) until you start to see oscillations
  • You can then add in a bit of D (Mine was added in increments of 0.0005) until the oscillations become less pronounced.
  • For I tuning, if you see that the aircraft is consistently drifting in any one direction when your sticks are centred, add in some I value until the drift is minimized. Otherwise, we usually won’t touch it.

Repeat for pitch and yaw. You may find that the pitch and yaw rate PIDs may be higher than roll rate; the physical design of fixed-wing planes means they are more sluggish along the pitch axis, and multicopters have inherently poor yaw authority.

TLDR: For each axis, zero the I and D gains, start with a low P gain. Increment the P until you see oscillations, then add in some D to damp out the oscillations. Add in I if necessary to correct for drift/wind. This is a conservative method which we use for large quadplanes, to minimize chances of crashing due to over-aggressive PIDs.

(Lau Yan Han) #3

Analysis of PID effects in dataflash logs

Tuning the aircraft based on pilot feel alone is usually sufficient. But if you are chasing accuracy, then the dataflash logs will help. You can refer to Arducopter’s equivalent tuning documentation.

The idea is that ATT.Roll and ATT DesRoll should be tracking relatively well. I found that slight offset between the 2 is normal, but oscillations should be minimal.

You should also graph Rate.RDes and Rate.R (Desired Roll and Actual Roll Rates) and make sure that those track well too.

If you want to see visualization of how the multirotor PIDs are working to correct the aircraft, the plots are found in the PIQR/PIQP/PIQY sections of the dataflash log entries.

You might achieve very accurate PID gains for the multirotor, if the dataflash logs are used properly (:

Tuning for QHOVER and QLOITER

QHOVER and QLOITER controllers usually require minimal, if any tuning. The default params work well most of the time. But in case you want a more accurate tune of these modes:

QHOVER tuning is explained in the Arducopter equivalent AltHold mode

The equivalent quadplane params are:

  • Acceleration: Q_P__ACCZ_P/I/D
  • Velocity: Q_P__VELZ_P
  • Position: Q P_POSZ_P

QLOITER tuning is explained in the Arducopter equivalent Loiter mode:

The equivalent quadplane params are:

  • Q_P_POSXY_P
  • Q_P_VELXY_P/I/D
  • All Q_LOIT params

Hope this helps!

(Robin) #4

Hi Lau Yan Han,

Thank you very much for the thorough answer! :smiley:
I have some nice experience with smaller quadplane without mayor problems.
But with this, bigger one, encounter problem resulted in easy crash during tuning process (only with a broken prop).
Basically, I started tuning the PID in calm weather in the same way as you described it.
Everything went ok with small movements on the RC transmitter.
Since it was stable and relatively responsive, I started with faster and slightly larger movements on the transmitter, after that quadplane started to swing and goes down uncontrolled.
down.
It seems like ESCs don’t respond fast enough. Maybe just ESCs settings like acceleration rate are to low?
After quick analyze I have also noticed Vibration level was a bit high, but in safe margins as I understand from documentation (green zone).
Can you take a quick look on this log of last try, please?
https://drive.google.com/open?id=1ocZdy7RdcMdPIbbJ7VEFFDkl7yansvr5
Thanks!

(Lau Yan Han) #5

Hello,

I took a quick look at the logs. My initial guess is that your roll and pitch rate PIDs are too aggressive.

Even with small movements on the stick, the actual pitch rate (orange) is already overshooting the desired pitch rate (brown; hence it also affects the actual and desired pitch angles. Not surprisingly, this problem becomes aggravated with large stick movements.

The roll rates is less obvious, and only show up when you increase the stick motion near the end of the log:

There is indeed a slight lag between desired and actual graphs, but this lag is usually normal. If the PIDs are properly tuned then it shouldn’t be that big of a problem (unless you are flying acrobatics which require very fast response times, which probably isn’t what large quadplanes are designed for :slight_smile:)

Try decreasing your roll and pitch rate P/I gains, and see how it goes.

(Robin) #6

Hi,

Thank you very much, I greatly appreciate your help :smile:
When the weather gets better, I will continue testing.

(Robin) #7

Hello Lau Yan Han,

I did a quick test after changes i have made:

  • I changed VTOL ESCs with other ones, different firmware, new props.
  • In parameters, I also changed both FILT parameters from 10 to 8 (Q_A_RAT_PIT_FILT and Q_A_RAT_RLL_FILT). As I understand, this is LPF (low pass filter).

There is very little information on this, in ardu it’s just written; if props are bigger then 13inch, then this value should be 10.

I changed PID settings as you suggested and

  • I left PID for pitch and roll on default value, I =0.25 and D = 0.4
  • For first try I lower Q_A_RAT_PIT_P from 0.25 (from last time) to 0.10
  • Plane it was not so locked, but control and attitude was OK, immediately the feeling was better.
  • Then I gradually increased P by 0.04 to P = 0.26, when the weather was going bad and I had to finish. So I think, I can go even higher with P, no frequent oscillations yet.
  • Overall, feeling on stick was nice, looked locked, good response and attitude is OK, too – I think.
  • Q_loiter mode seems to be OK, no problems so far.

I wonder why my P is already quite high compared to your 0.08?
And once again, can I ask you to take a look on my logs, please? I am still learning.

My logs:
00000004.bin = last tuning with Q_A_RAT_PIT_P and Q_A_RAT_RLL_P = 0.26
https://drive.google.com/open?id=1Y3heiMlVBdRx9PaYV5ygcsqmbmQ6cF3K

00000005.bin = test in q_loiter
https://drive.google.com/open?id=1BHKIZ7cflXC6tgq-YJJL3cwoLlUDVvEk

For future tests I’m bit afraid about test with fast stick movement (stick deflection and release). Bad
experience from last test.
Is there any danger and what i should be aware of?

I also intend to increase MOT_SPIN_MIN to higher value (now is def. 0.15) and decrease maх angle (Q_ANGLE_MAX,3000), to 2000 maybe? This was a tip somewhere in this forum.

Thanks.

(Lau Yan Han) #8

Be careful. Your Pitch and Roll Rate P are quite high; the desired pitch rate (orange) is already overshooting the actual pitch rate (brown):

Same for your desired (orange) vs actual roll rates (green), although the amount of overshoot is not so obvious:

The overshoot is small enough to not be noticeable for gentle stick movements in flight. But it may cause trouble when you start doing fast stick movements. Hence, it is best to learn how to check the logs for this sort of symptoms.

I suggest you decrease your Pitch and Roll Rate P slightly, and then recheck your logs to see is the overshoot still occurs.

0.08 was my starting rate P values. Final rate P values were also around the range of 0.2 - 0.25. But take it with a pinch of salt as not every airframe is the same: It depends on a variety of factors such as thrust-weight ratio, airframe stiffness, etc.

Are you sure D should be 0.4? That seems way too high; default rate D is 0.0036. Too high a D is bad for your motors; you can read up more on the effects of P, I and D here.

Hope this helps :grinning:

(Robin) #9

Hello Lau Yan Han,

This is what happened to me:

What do you think?
Thanks.