-
Notifications
You must be signed in to change notification settings - Fork 16.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Copter: Throttle Pid Attenuation (TPA) #1261
Comments
I had this somewhere in mind, nice to see ideas crossing here! |
Just a quick note to say; Throttle PID Attenuation is vital for smaller frames and the (currently fashionable) mini quads that lots of people are now flying. With the new mini APM boards available it should be possible to get these aircraft flying with an APM but it's not worth doing until TPA is available. It makes such a big positive difference to the way some of these smaller quads fly. It would be a great feature to add. |
A vote for this feature. As noted before smaller muliticopters and those flown more aggressively definitely benefit from variable PID's. Openpilot, Taus Labs and Naze32 variants have implemented this. Higher throttle rate effectively increases the mechanical gain of the system potentially resulting in instability during higher throttle flight and un-optimized PIDs at descent throttle rates. |
Its a major issue for smaller frames with lots of power #define Usr_Tpa_Val 0.85f // TPA 85% gains or backed off 25% Please guys we need it bad , im pretty close to ditching my apm micro for a naze32 or something as the wobbles on throttle up are killing me |
We will be including a throttle linearisation curve that is a significant improvement over TPA. However, this is only being included in the pixhawk release along with a bunch of other improvements to ACRO. However, I have found that much of the oscillation we see in the pids isn't from this, it is from the dead zone at the top of the ESC range. If you calibrate your ESC with 10% more upper throttle you may find much of your oscillation go away. To do this I would set the radio with 10% higher throttle range to calibrate the esc and return it to the normal range to calibrate the APM. |
This is one time where I would encourage at least investigating whether the upgrade can be made to the APM platform despite the known memory limitations. Or maybe a frame type firmware for a small quad t0 limit affecting firmware capability for larger craft not needing the feature. The work done elsewhere shows that even at lower levels of thrust that oscillation in small quads can happen even with a good amount of overhead allocated to stabilization. We make miniquads and it very evident on any platform NAZE, CC3D etc we use that attenuation at lower levels dramatically helps when in fast forward flight or with aggressive use of thrust. We use APM for more feature capable setups but the oscillation issue is a problem if used aggressively. We would use the a Arducopter platform more extensively if we could satisfy the more aggressive flight styles. There is a significant section of the market moving to small aggressive copters. This may be a even larger market if there is a separate less strict ruling for less than 4.4 lb UAS by the FAA |
@ lthall, i will try the esc calibration method and report back ,how much space does this new throttle linearisation take up ? could we drop autotune for the minis in favor for this or could we just add multiwii style tpa and leave it on 0% so no one would know it was there unless they needed it [code] [/code] might do more reading tomorrow night on what prop2 relates to and try adding it myself |
I don't think there is the processing power to do it the way we have done it in the Pixhawk so the simple TPA is probably the only way we can do it. The problem with the APM is there is a large work load to do a release and with all the new work being done on the Pixhawk everybody is flat out. I would like to make some small changes to the APM code to incorporate my yaw control changes and add the TPA. Making time is the challenge. |
ok i'll have ago at adding it then , but if you have the code to try im more then happy to build and test myself. about to go outside and try calibrating the esc's at 110% but am i correct in thinking if i've done radio calibration i should be able to set higher endpoints ,throttle up power on, power off, power on throttle down power off, reset endpoints & and all should be good yes? |
We already have an interpolated throttle curve baked in. Currently only has
|
Hi rotcehdnih, |
Ok i gave that ago and it was marginally better , maybe 50% in fact however it did feel like i had lost a small amount of rpm from reviewing videos its hard to tell but i don't think 10% was all deadband. the oscillation in on roll so i'll focus on tuning it better as there rough as guts |
Great news my wobbles on throttle up are gone on 3s 5x3 👍 however now on decent its really bad "wobbles that is on roll and pitch " also it seems to yaw on decent aswell so ill have to look into that , ill need to tune in my 3s 6x4.5's and see how they feel and try 4s 5x3's aswell as it was really bad on those setups so all need very different tunes for example today on 3s 5x3 i was using 75-80w max throttle but on 3s 6x4.5 its more like 140-150 watts. & its a "zmr" so its top heavy to start with and i put spacers in to fit my esc's in the frame so its worse then normal but alot of people are doing mods like printing spacers ect that make there's look like a triple decker bus compared to mine also while im here i see a lot of people complaining that the rate of rotation is still to slow even when its set to what they think is the max of 10 and there almost right is it way to slow for a mini quad but i bet most don't know they can set things out of range so ACRO_RP_P set to 13-19 is more what they want but think they cannot have so someone just need's to tell them ie in the wiki that values over 10 may be needed for acro mini quads |
Hi all, If someone can open a thread and post the link here that would be great. I will then answer all the questions I can over there. I will do my best to get the dev's to do another release for the APM that has TPA and my yaw improvement. However, I will need testers!!!!!! |
We will gladly test !!! |
I will need people to test everything, not just the ACRO, so the more help the better. |
My APM 3.1 is about to arrive (It will be mounted on my ZMR 250). So in order to get this issue solved, I'm planning to mix the throttle and Chanel 6 on my radio (9x with Open TX). Then I'll set the Chanel 6 to lower the PIDs (on APM) when the throttle is on the on the high position. I'll try this until the TPA is added to the APM code =D. What do you guys think, will it work? |
Pretty sure this one is completed by Leonard. |
If it is completed, any chance you can clue us in as to where the setting is or what the variable name is in the full parameter list please? |
It has been done and is working beautifully! If you give me a list of locations that would like to see a write up I will put one together. There are a couple of features of interest to the fpv racers. |
Please start by telling me where the setting is here. Then i will know and i can tell other people and then they'll know too! |
This isn't the appropriate place for detailed instructions. I am on my mobile so don't have the parameter name on me. It all happens under the Mot_XXXXXX parameters. If there isn't any discussions you can point me to then the next best thing is the post release wiki update. I think I have already put a brief description on the 3.3 thread. I might do a blog post on it too. |
When you get the chance later please come back and post the variable name. I don't need a detailed instruction. Just the actual variable name please. |
It isn't done the same as TPa so it needs more explanation. It is also a much more thorough solution. The variable is something like mot_thr_expo or _curve. But it is important to also specify the _maximum correctly. |
yes, we need to add wiki instructions for many of the new features in AC3.3. |
There are 4 main parameters: The oscillations are caused by 4 main reasons.
teslahed as you can see this isn't as simple as TPA because it is a much more complete solution. There are also a number of specific FPV racer features added to this release. So if you are aware of a place this discussion is taking place I would appreciate it if you would let me know so I can help those people get the most out of this code. |
Will it be possible to add TPA like feature to Arcucopter?
This feature exist on Multiwii and Baseflight,
Basically It's a dynamic PID dampener active between half and full throttle.
This eliminates oscillations when giving too much throttle, on some frames (Mini 250 frames for example) this is really necessary, as the alternative is to lower the PIDs in advance and have a less accurate/wobbly vehicle so that when you throttle it won't oscillate
The text was updated successfully, but these errors were encountered: