The arducopter tuning guide.
This guide was written at the time of the release of Arducopter 2.8.1 FW. It is a compilation of everything I have gathered from the experts in the field of flight controller tuning. It will help give you an understanding of how to tune any rotor based flight controller, but its specific to Arducopter and this firmware release.
I will update this as necessary, or if you can convince me any of it is incorrect just post below and I’ll update this text.
There is a summary/quick reference at the bottom, so once you’ve read this rather rambling explanation you won’t have to again, other than to check details :D
Tuning your flight controller is essential for a perfect flight. Even a fully stock frame will fly better if you tune. The default params will be close, but your battery or motors might be performing differently, your air maybe ‘thinner’ compared to the developer that last published the default params, so you should tune.
What we are trying to achieve is control. We start to accomplish this by modifying the amount of P, I and D in our control loops. All three react to our stick inputs and the errors created by measurements from our sensors, and all three will help us fly better. If we do not have enough of any of the params the copter will not feel like it’s under control, it will wander about, not resist wind and be hard to fly. Too much of any of the params and the copter will seem to have a mind of its own. It will over-react. At best you will see it oscillate, very fast, not so fast or somewhere in between, depending on which parameter has been overclocked. At worst it will simple flip over on take-off or be very unpredictable in flight.
We need to find a balance. You can tune each param up individually, but one will have an effect on another. Therefore we must tune one, then another, then go back and see if we can retune the first one again, this is the balance.
And this is where we adjust those parameters – Mission planner config page:
Before you start:
So let’s start tuning
Everything you read below will be demonstrated in the tuning video further down, so you know what to look for, and at the bottom is a summary for quick reference. I think, however, it’s important to include as much information here as possible as anyone starting into this hobby will often find this process to be a bit of a black art.
I’ve found the quickest way to tune the arducopter is to start with rate_D, (but you simply can’t do this unless you can hold your beast in hand or in a jig as the copter won’t fly without any rate_P or I) so a more universal way to start, and actually a more informative way is to start with rate_P.
Since this is about learning for everyone, let’s do it that way. I’ll give a brief low-down on the ‘rate_D’ tune (or Dave C tune, as it’s become known) ‘ later. (BTW, that’s very flattering but I’m only relaying info from the real experts, but hey, if I’m gonna be famous, why not for doing something I love :)) Anyway....
STEP ONE - Tuning rate_P
STEP TWO – Tuning rate_D
NOTE: once you have found your rate_D you can try something interesting - you will have to hold onto your bird for this obviously. Set rate_P to zero, then crank up your rate_D as you just have. You will discover that these fast oscillations occur at pretty much the same level of rate_D, no matter what you have set rate_P to. This is why I think it’s more than possible to start tuning rate_D then move on to P. But that’s a shortcut, and this is not what this guide is all about.
STEP THREE – Tuning rate_P even more
Congratulations, your copter should be flying better than it ever has done before.
STEP FIVE - HEAD OUTSIDE!!!
For now set Stab_P at 3.0 - 3.5, closer to 3.0 if you have a high power machine, just to get you flying in stab mode. Then spend your time tuning rate_I and stab_P.
If you find your set up immediately too harsh, back off on rate_P and rate_D by 10% each, and try a lower i-term, if it's still too harsh do that again!
All that’s left is to watch the video below so you can see what I’m describing and head outside for fine tuning. Oh, and await part two of the guide and amendments from any discussions raised, then we will have a proper tuning guide that will be integrated into the wiki advanced tuning guide :D
Results for tuning in this video were
Oh and as promised, below is Part One of the Summary Guide. I aim this to be on one sheet of A4 and tell you everything you need know ‘in the field’.
Summary of what you are looking for
Too much rate P will oscillate quickly, and cause to copter to sound angry under stick input, bouncing rather than smoothly following your inputs. It will also shake more at full throttle and under hard turning.
Not enough you will not feel like you have full control. It will feel sloppy and be very easy to over correct with your inputs. It will feel delayed.
Perfect is where it feels locked in, stiff in the air, but not shaky. (although if I’m sport flying I turn it up a bit for maximum ‘wang’ and just tolerate the slight oscillations)
Too much rate_I will oscillate if you get high enough (a much slower oscillation than a rate_P shake). But quite a long while before it oscillates it will have other detrimental effects on flight performance, like a sluggish feeling or a tendancy to flip over on take-off. This is why I suggest tuning this in flight rather than in your hand/jig.
Not enough will cause the copter to get pushed by a constant wind, then it will fight back using just P. It will not hold a very firm angle during forward flight and will need more correction. This will not be as smooth as it could be in either case.
The perfect amount will cause the copter to lean gracefully into a constant wind, but also allow you to set a lean angle and stay there as you fly about. As you dial rate_i in pay close attention to the feel of the copter, you are not looking to create oscillations here at all, you should notice a strange ‘feel’ long before this point.
Too much rate_D will oscillate very fast, you will see a twitch forming then a fast buzzing oscillation
Not enough rate_D will simply mean you can’t dial enough rate_P and so you will suffer the effects of having rate_P too low.
A perfect rate_D will help fight the wind and follow your sticks as its fast to react, but will also allow you to reach a maximum rate_P level for you frame, thus giving better control.
Working with this tuning made me wonder why this can't be modeled some way. A program where you can plug in your motor thrust, number of motors and total weight and it would output the range of PID values. Of course it would need fine tuning after that since all crafts have difference in distribution of that weight but it could be used right away by most. Does something like this already exist?
I'm looking for some help. I originally had a Snell Quadpod using the APM 2.5 with arducopter 2.8.1 and it was very stable with no issues. I have since upgraded to 2.9 and it appears to be stable but very unpredictable, I have tuned the PID's using the method shown and tried in flight tuning. The problem I seem to have is that my rate P needs to be so low that it doesn't react quickly, so I increase rate P and I get serious bounce.
It hovers and then shoots of in any particular direction it feels like. If you look for Quad Pod on youtube you can see how it used to fly.Hope someone can help.
I have been working on tuning this. I have my rate P set to .194 rate I .194 and rate D .001
I'm now going to put rate D on ch6. What would be a good upper range? I will start with my current .001
I'm tuning in acro and using 2.9.1
I would start from 0.001 to 0.005. I am not sure if I would recommend going past 0.005 though.
OK did some more tuning this morning. Great weather! :)
I'm still in acro with RP.2 - RI .2 - RD .019
Since I got rate D higher than I expected and I don't necessary want a sporty feel, just a very solid one and wind resistant, I stopped at .019 on RD. I never got the oscillations but it got REALLY tight. So different than the last few days of flying where I was working on other issues. Then I went back to RP to see what I could get that up to and stopped at .2 and also didn't go to the point of getting oscillations. Is it necessary to see where that top end is on RP and RD? RI I'm just matching RP.
Now move to stabalize and see if I can get SP higher? It's at 3.0 now with SI at 0
I will post some video of these settings after the batteries charge :)
Also here are my specs. I'm tuning without the extra weight of the camera and gimbal. I know I will have to change later but I will save these to revert back if I need to fly without that extra gear.
octo with NTM Prop Drive Series 35-36A 910Kv / 350W
MTM length 96cm
1400gr - 13.2A 4S batteries (probably can improve on this weight to A ratio)
3800gr - frame motors etc
5200gr - total
and not installed yet:
650gr - gimbal
? - camera
Not sure why you delete your post on your crash. Here is my answer to that post:
On my Octo I "had" round tubes with motor mounts that squeezed the tubes. This caused me issues. One motor mount spun on the tube and destroyed the Octo in a flash! The mount spun because I had an unbalanced prop (my bad). I now use square tubes with a "bolted on" carbon fiber mount. I made my own on my CNC but they are the same as used on the Carboncore Octo's (carboncore.co.uk). I mounted them on square aluminum tubes. This solved the motor mount issues once and for all. Two crashes and all 8 mounts are still intact.
As for survivability: I hit a King Bird once (it attacked my Octo). The bird blew one of the motors off the old round mounts I had been using. The prop exploded and the motor dangled off the arm. The Octo flew like crap but I could at least control it to a safe landing. The motor was screaming all the way down with nothing but the prop hub on its shaft. The motor is still in use today.
MTM: 914mm / 36in
W: 4.5kg / 10lb
Mot: NTM Prop Drive 28-36 750KV / 265W
Bat: 2 x 4S-5000mah
I had meant to post it in the octocopter thread Rob started. It wasn't really tuning related. Here is a video of the latest tuning. RP = .2 RI - .2 RD = .019
I'm doing the twitching to see if it will oscillate while I'm bringing up RP or RD. I never get that far to make it oscillate. It just feels sight tight now that I don't think I want it stiffer. How does the tuning look in this video? To snappy?
So far I haven't had a tube twist on me but I would feel more comfortable with square tubes and better motor mounts.
I get "happy" values way off the values in the tuning guide (and the most of you other too). I get
I run the 3DR Hexa B with a APM2.5 and 2.9.1 firmware.
Have I misunderstood something here? Can somebody arrest me?
I have a frame with just those settings, it's an original ardu 1.0 frame- very light and eats vibes. No problem until you chip a prop and the vibes start to get through, then it will go crazy.
Try unbalancing a prop, with a bit of tape - this will show you how close to the edge you are.
Dave when tuning my octo in the air should I find those higher values that cause the isolation and back down or just stop when it gets tight enough? It's starting to get that angry sound when I jerk it around but I've never seen the oscillations. So if I leave it at RP = .2 RI - .2 RD = .019 should I then go to Stab P and lower P to soften it up or should I do that in the the Rate tuning?
The stiff feeling in the air is a good place to aim at, but really I only really tune as high as I can for acrobatic flight and fast, scary FPV.
If you are ultimately planning on a smooth camera platfom you will probable have to de-tune a bit so that so don't get twitchiness that will just serve to make tuning your gimbal more difficult.
You can soften is a bit by reducing stab_P, but I'll take a bit off rate too.
Sound like that octo eats any vibrations and you have set it up well. You have given yourself many choices of tune. Nice!
Thanks Dave. The frame is very nice (thanks Rob L) but will be even better once I lock down the boom mounts. I think the APM mount he designed really helps with the vibs not getting where you don't want them :) Also I think 2.9.1 is just very stable with the stock settings. Here's a "honey badger" quad I just finished and this is without ANY tuning yet.