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:

http://code.google.com/p/arducopter/downloads/detail?name=ArduCopte...

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.

Views: 27426

Reply to This

Replies to This Discussion

I have uploaded 2.7 via arduino tool successfully before, but not now, will try that next.  I went back to 2.7 via MP, booting ok.

Now I uploaded 2.7.3 via arduino tool and reloaded my old parameters,  the same, no booting.

Something is wrong with my upload: but its compiling and uploading without error.

Oh, wait, I think I know what this may be.  Did you change the necessary settings in APM_Config?  If not, I think what happened is that you compiled for APM1, and you probably have an APM2, so you need to set that in the APM_Config file.  This is pretty easy. I'll walk you through it.

No, I did not make any changes in the config.

But 1 months ago I uploaded successfully via arduino tool 2.7.3,

I had no issues.  Maybe something has changed meanwhile at my setup.  

Yes I have an APM2

If I need to change APM_Config then please can you give me guides?

Manfred,

     On line 5 of your APM_Config.h file you should find a line that looks like this:

//#define CONFIG_APM_HARDWARE APM_HARDWARE_APM2

    you should remove the two slashes in front so it looks like this:

#define CONFIG_APM_HARDWARE APM_HARDWARE_APM2

Got it, Its working now :-)))

Thanks a lot, will start testing tomorrow

Everything seems to work so far except I’m only able to Arm and Disarm via MP, but not the usual way, with Rudder Stick.  

Manfred,

     Maybe your flight mode isn't in stabilize mode?  You can only arm/disarm when in stabilize mode.

I’m in stabilize mode and it arms via MP but not with rudder hard right. 

How is arming trigger?  Stab mode & rudder hard right & collective low.... !?

Yes.  "throttle" all the way down, rudder right.  It's pretty hard to imagine that's a code problem.  Much more likely that there's something missed in your set-up.  you did the radio calibration of course?

Yeah, I'm wondering if he needs to reverse his throttle channel in the radio setup. Pretty common problem when you do a fresh setup, especially if you have a Futaba radio since Futaba outputs the throttle channel inverted for some reason.  When the Tx output is *not* reversed in the radio, "up throttle" is actually low PWM, and low throttle is high PWM.  I've never known why.

Another thing Manfred, did you make the necessary changes in APM_Config.h to make it compile for TradHeli?  That's something else you'll need to do whenver you compile.

Line 18, you'll see this:

//#define FRAME_CONFIG QUAD_FRAME

Change it to this:

#define FRAME_CONFIG HELI_FRAME

The "//" in front of a line means that it is "commented out", which means the compiler ignores it.  So you need to uncomment it so it is active, and then change it to Heli.

Otherwise the compiler defaults to Quad.

Sorry about the hassle Manfred, this is the stuff you have to go through when compiling.  It gets easy once you get used to it.

I also commonly add these two:

#define AP_LIMITS DISABLED
#define MOUNT DISABLED

It turns off those two features to save RAM.

RSS

© 2014   Created by Chris Anderson.

Badges  |  Report an Issue  |  Terms of Service