I am opening this topic to serve as the go-to place for talking about the upcoming 2.9 software release for Trad Helis. I think this will be necessary as 2.9 will have SIGNIFICANT changes in the way that the helis fly, and also in the settings you will use.
Yesterday, I flew 4 packs of "2.9 - rc2" from the downloads section on my 450 heli. The file is located here:
I would be interested in having some other people try some test flying with this. I'll have to walk you through the setup, as it requires a bit of work to get a flying parameter setting using the rate controllers which are now active. You CANNOT fly using the old parameters for Stabilize PID. Don't even try it. Also, the Alt_Hold parameters will have significantly changed.
This is slightly complicated by the fact that we have some new Heli-specific Rate PID parameters called "Rate_Pitch_FF", also for Roll and Yaw. Unfortunately these are only accessible in MP from the Advanced Parameters List. Hopefully I can get that fixed. What I'd like to do is for TradHeli, in MP, remove the Rate_Pitch_D, in the Config PID screen, and replace it with Rate_Pitch_FF. This is because I have found the D-term to be completely unusable anyway. The FF is feed-forward. This was what I found was the key to getting the heli to be able to fly in rate mode. Basically, it is like P-term, but has no error correction. It's sort of like this:
P-output = P-term x (Rate Input - Current Rate)
FF-output = FF-term x Rate Input
then you also have the I-term output. So the total servo command is:
Servo-output = P-output + I-output + FF-output
I have also implemented the FF on the yaw controller, and found that it actually helps to stop the slight "tail wag" that we always had.
There are also some new settings for the collective. These are Stab_Col_Min and Stab_Col_Max. What these are for is sort of like Idle-up pitch curves. You can now set up your swash plate with full negative pitch, maybe a range of -10° to +10°, or +/-12°, but when flying in Stabilize mode, you can set Stab_Col_Min to reduce the amount of negative pitch available to something like -3° or whatever you prefer. This gives a nice soft feel. However, in Acro mode, you will get the full range, and also the auto-pilot modes get the full range. For example, I set my Col_Min and Col_Max to give me +/-10°, and then I set Stab_Col_Min to 40, which is 40%, and this changes the negative pitch to only -2° in Stab mode.
The only thing to know here is that when you change modes between Acro and Stab, the swash-plate will jump up and down, so you have to be ready for it. It's no different than using Idle-up in your Tx.
My test flights yesterday went quite well. The Alt_Hold now works beautifully, and I actually prefer landing in Alt_Hold rather than Stabilize! I also did a few flips with it in Acro mode (very ugly, I'm not good at this) using full negative collective when upsidedown, and it worked well. It didn't seem to get confused. Finally, I tried going into Acro, rolling it over upside-down or sideways, then back to Stabilize, and it flipped right way up which is good.
The only problem I have seen so far is that when flying in Alt_Hold, if you push the cyclic full forward and get up a high speed, the altitude starts to oscillate badly. I suspect this is a classic "phugoid", or pitch/throttle oscillation. We'll have to work on this. However it seems to fly well up to about 1/2 Vmax.
I'll try to post my Parameter file here tonight, but I caution that the settings will be HIGHLY dependent on your servo speed, as well as many other setup differences.
Yeah, I'm afraid the 5Hz filter may be a little high. You can try it, won't hurt. But just be aware of what you're doing.
BTW, there's another 2Hz filter running on the Pitch and Roll controllers, inside the code, not the MPU6000.
Basically, the MPU6000 filter, is mostly there to deal with vibrations. However, it does have an effect on responsiveness. So you want to use as little as you can. This is particularly important on the yaw, because the yaw is otherwise unfiltered. So the more you filter in the MPU, the slower yaw will be.
The 2Hz filter in the APM for Pitch and Roll, I had to put there to get it to work. Otherwise, too much oscillation. I tried putting it on the tail, but it made the tail very bad.
In the future, I may explore the idea of letting people adjust the internal filter rate on pitch/roll. The faster your servos, and the smoother your heli, the less filtration you need, and the more responsive and accurate it will be.
Yes, Rate P at 0 you'd have no control. I meant Rate I to zero.
So here's what H_Flybar_Mode = 1 does.
First, in Acro mode, it skips ALL stabilization/rate controllers. Your stick inputs go DIRECTLY to the servos. The only thing the APM does is the CCPM mixing. It becomes completely dumb.
I actually did this because when I was working on the Stab controller using the Rate control for the first time, I didn't know what would happen. I needed something reliable that I could use as a bailout. So basically taking the APM out of the loop seemed like a reasonable idea.
And after I was done with the rate controller working in Stab mode, I just left it like that. Acro = Full Manual.
What do you guys think?
The only real issue I'm aware of is that there is basically no trim. If you are trying to hover, and the swash isn't setup right mechanically, it'll roll. The only way you could stop that is by adjusting your swash linkages, or using radio trim. Using radio trim is not good, because then that will mess up all your other modes because the APM will think you are holding the sticks.
So the second big thing Flybar_Mode does, is that it makes the Rate I term only "active" near zero rate command. It won't move whenever you're asking the heli to move. It will only move the Integrator, basically in a hover. So it's sort of like an auto-trim for hover. Whenever you are moving the sticks, it's frozen. Again, I did that because I didn't want the Integrator doing whacky things to the flybar, because the flybar and the rate integrator do the exact same thing, but neither one of them knows what the other is doing!
Any comments welcome. This stuff is totally open, if you have a better idea, pass it on.
I personally think that's a fair trade, it will just to be noted that you'll need to work on balancing things out with your mechanical links. I also think in arco mode, most heli pilots won't notice any small offsets because they're probably doing more forward style flight then just practicing their nose in inverted hover flips.
I'll bring the filter up to 10Hz and I'm working on remounting my APM.
Also I don't think I quite understand the concept of the arm/disarm on channel 8. If I'm controlling my ESC outside of the APM, what is the purpose just putting a lock on the collective?
The Arm-Disarm with Ch8 low should only happen if you have H_RSC_MODE set to 1 or 2. With 0, it shouldn't matter.
The swashplate thing being "locked", actually, that's not intentional. What's actually happening, is the I-term is reset continually when disarmed. So the swash only responds to the P-term. It should still move, but the movement might be smaller.
Josh, Thanks for your input. I tried to install 2.9 with no success, but will try later.
one question, You downloaded your param file yesterday which you were using 2.9, do you think your settings would work on 2.7.3???
PS. I did fly my TREX500 today on the 2.7.3 at home, but only about 5 feet off of the ground..little unstable. I will need to fly it else wear to do a full test.
Thanks, TREX500 Brian
There's some significant differences to the parameters between 2.7.3 and 2.9. In particular the body-frame rate controllers so I don't think the 2.7.3 parameters are a good place to start.
Rob and I have been discussing trying to get the default parameters for the heli updated. that still needs a little discussion on what are the best defaults.
What Randy said, things changed a bit. This is also my first time tuning a helicopter, so if you get the code loaded, you might try starting with Roberts 2.9 parameters first, just turn on the flybar mode by setting H_Flybar_Mode to 1.
Yeah, the parameters are going to be quite different 2.7.3 vs. 2.9. A LOT has changed since then.
Also, did you follow this guide? This seems to cover everything. Let us know what errors you're getting.
Thanks Josh, This my first time loading codes or even working in WiKi so I wasn't surprised that it didn't work. But I'll try again until I get it. Thanks again, I'll let you know how it goes.
I could only test the 450 indoors, (40km/h up to 60 SW blowing out there).
My first impression, solid like a rock, feels really great, the tail much better, no little wags.
Hope the wind calms down soon so I can start real testing including althold and loiter.
Manfred, good news. So far, did you think it's more stable than the old pitch/roll controller?
That's what I'm curious about. It had been so long since I flew FBL with Arducopter, I can't remember what it was like.
And you're using my parameters and they worked out of the box?