Arducopter 2.9 for TradHeli Discussion

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.

You need to be a member of diydrones to add comments!

Join diydrones

Email me when people reply –


  • dupe, deleted.

  • Just setting up my first APM trad. Heli, a FLB Trex-450. I just flew it on the default P1.4 rates... wow that was scary! P is now down to 0.040, and it can actually fly now :) however I have very very little control.

    Quick question though, I've noticed that all 3 swashplate servo's drop to "minimum" or -24deg pitch and bind a little. I have tried to set the min and max swash servo values but on power cycle or mavlink refresh they default back to 1000-2000. Just wondering if this a known bug or am I doing something wrong here?

  • Hi R_Lefebvre,

    what rate and alt_hold PID values did u use on your 450 Heli with the asymmetric spinblades you showed up in your "alt_hold demo in stormy wind" youtube video?

    Or has anyone a hint where to start PID tuning with those asymmetric blades?

    Thank you.


  • Hey Rob, I posted this here because its not really a dev issue.

    My COLYAW is linear --- not V-shaped like it should be, always has been. Except for about 2 flights. I think its a bug with the code, but might be a setup issue. Remember ages ago I was saying I need to make COLYAW negative for it to operate the right direction? That still applies, but it is only correct for positive pitch. I had a look at what was causing it in the code, but I cant seem to figure it out.

    Thanks for any help


  • Im using a DX8 and Im wanting to know what the gyro settings do to the Arducopter controller? For example, I have my Gyro normal set to -75. I found that if I go below -70 i cannot arm the Arducopter and i get no pitch or throttle. As soon as I move it back above -75 or so it works fine. I have a tail wobble side to side in a very quick manner like have a very high gyro gain with an 401 gyro.

     So what does the gyro gain settings in the radio do to the Arducopter?

  • Need help with the roll correction on my heli..

     When I roll the heli in my hand the swash plate corrects in the wrong direction.

     Any idea why this is?



  • Not sure if it matters or not, or whether you are aware of this already, but I noticed that in 2.9.1b the extrenal gyro gain is impossible to get realistic PWM output when using ch6 tuning. The max I could get was 32 PWM. I changed the term "tuning_value" to "g.rc_6.control_in" in ArduCopter.pde and it works ok

  • Hello people, what are we doing to limit cyclic pitch currently? Is it IMAX?

  • Got the 600 up and flying again yesterday, had to go back to training gear to sort out some PID issues. I tried using a parameter file from the 2.7.1 I was using and that resulted in no pitch/roll? So I ended up just inputting the swash servo trims and PID's manually without the parameters file. That got it in the air but it had a serious oscillation issue, had to back the P terms to 2 from the 4.5 it was with the old firmware. Any idea why?

    Also where do I adjust the FF terms? I need some agility back...
  • Hey guys, sorry for all the confusion, but I think there's really no need for you guys to go through all those steps and configuration changes.  That was mostly during the early days when this setup wasn't mature anymore.  You should not need to worry about compiling with Arduino IDE, nor worrying about Config files or any of that.

    You simply install the APM, plug the USB cable in, and load it with 2.9.1 directly from Mission Planner.  Then you just need to tune your PIDs.  Pretty simple stuff.

    Jeff, sorry, I don't know anything about Optical Flow setup.

This reply was deleted.


DIY Robocars via Twitter
RT @a1k0n: Did I get rid of hand-tuned parameters? Yes. Am I still hand-tuning more parameters? Also yes. I have a few knobs to address the…
DIY Robocars via Twitter
RT @a1k0n: I'm not going to spoil it, but (after charging the battery) this works way better than it has any right to. The car is now faste…
DIY Robocars via Twitter
RT @a1k0n: Decided to just see what happens if I run the sim-trained neural net on the car, with some safety rails around max throttle slew…
DIY Robocars via Twitter
DIY Robocars via Twitter
RT @SmallpixelCar: @a1k0n @diyrobocars I learned from this. This is my speed profile. Looks like I am too conservative on the right side of…
DIY Robocars via Twitter
RT @a1k0n: @SmallpixelCar @diyrobocars Dot color is speed; brighter is faster. Yeah, it has less room to explore in the tighter part, and t…
DIY Robocars via Twitter
RT @a1k0n: I'm gonna try to do proper offline reinforcement learning for @diyrobocars and throw away all my manual parameter tuning for the…
DIY Robocars via Twitter
RT @circuitlaunch: DIY Robocars & Brazilian BBQ - Sat 10/1. Our track combines hairpin curves with an intersection for max danger. Take tha…
DIY Robocars via Twitter
RT @SmallpixelCar: Had an great test today on @RAMS_RC_Club track. However the car starts to drift at 40mph. Some experts recommended to ch…
Sep 11
DIY Robocars via Twitter
RT @gclue_akira: 世界最速 チームtamiyaのaiカー
Sep 10
DIY Robocars via Twitter
RT @DanielChiaJH: Always a good time working on my @diyrobocars car at @circuitlaunch. Still got some work to do if I’m to beat @a1k0n howe…
Sep 10
DIY Robocars via Twitter
RT @SmallpixelCar: My new speed profile for @RAMS_RC_Club track
Sep 10
DIY Robocars via Twitter
RT @SmallpixelCar: Practiced at @RAMS_RC_Club today with my new @ARRMARC car
Aug 28
DIY Robocars via Twitter
Aug 24
DIY Robocars via Twitter
RT @gclue_akira: 柏の葉で走行させてるjetracerの中身 #instantNeRF #jetracer
Jul 4
DIY Robocars via Twitter
Cool web-based self-driving simulator. Click save when the AI does the right thing
Jul 4