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:

http://code.google.com/p/arducopter/downloads/detail?name=ArduCopter-2.9-rc2.zip&can=2&q=#makechanges

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 –

Replies

  • Well, had a brilliant time this weekend setting up my Logo 400 and then putting two batteries through.  I'm amazed at the quality of the flight given it was my very first with an APM2.5 and a first on this heli.  Basically I stripped the VBar controller out of it on Saturday and mounted the APM and RX, connected up the servos and powered the APM with a 4 cell NiMH and the output side of the APM with the ESC.  I'm using a 5S LiPo to drive the motor so its no good for the power cable.

     

    3692648520?profile=original

     

    3692647155?profile=original

    I took the advice on the Wiki and installed training gear which was well worth it.

    3692647148?profile=original

    Here you can see the APM affixed to the airframe using four small pads of Futaba gyro double sided tape.  I was concerned about vibrations but I'm waiting on some 1mm carbon fiber sheet to make a more permanent mount but this seemed to work great anyway.   I left the cable loose so they transmit as little vibration as possible as shown in the pic below.

    3692647172?profile=original

    Here is the Rx connected to the APM

    3692647267?profile=original

    You can also see a "VoltWatch" which I use to check that the NiMH battery is in good shape.  You can see the Rx aerials enclosed in white plastic tube set at 90 deg to each other and the 433MHz aerial for the 3DR link between my PC and the APM.

    3692647189?profile=original

    Close up of the 433MHz link.

    3692647284?profile=original

    Here you can see the general layout of the heli.  Battery, Motor and ESC at the front.  Rx, APM and 3DR at the rear.          

    So set up my heli using the Wiki which worked reasonably well.  I will now go through it slowly a second time having actually used it and check that it is all relevant and nothing's missing.  I set up the speed control in Mode_1 and set a flat curve in my Tx.  I'll change this to Mode_2 in time.

    I used Ch6 to set up the Pitch and Roll P values.  Well, as the Wiki says at .01 the heli is almost unflyable and I had to land pretty quickly.  Four clicks on my Tx now upped the P value by .01 so tried it at 0.02 and then all the way up to 0.075 and the heli flew great.  Note I had the default I values set.  So I reset the min and max values on the Ch6 to 0.05 and 0.1 respectively and worked my way up slowly.  At 0.09 it flew well so I landed and set the maximum 0.1..........lifted it off about 2 feet, all seemed ok and then....WHOA.....all hell broke loose.  The heli went tropo on the roll axis.  Having read the Wiki, I was expecting it to go wild but now I know what Robert means.  Killed the throttle and dumped it down on the training gear and breathed out......

    So backed off the Roll P to 0.08 and the Pitch to 0.09 and tried again and it flew locked in better than any other controller I have ever had.  Now used the Wiki to change the I values and now the Ps are probably a bit high since the I values have increased as explained in the Wiki. 

    I ran a battery through at these settings and loved it.  The tail is a bit too locked in so I'll have to soften that a bit when next I fly.  But I am mightily impressed with the performance. 

    Thanks to all those who design this system.  I'm delighted to have it on board.

  • Is it possible to add an option to enable rate only control to collective pitch? Currently its implemented in alt_hold, but its also using the altitude and acceleration components.

    If we could have rate only control for cyclic it would be just like normal flying, but wind would be cancelled out as a bonus. To aid in landing and take-off we could make the i-term decay at the same rate as cyclic. 

    Perhaps there is a way to tune alt_hold to behave as a rate only controller?

  • Hey guys, been thinking and I'ma little concerned about RTL/failsafe settings.

    I'm hoping to set my heli to perform RTL on failsafe, but thinking about it I realized that throttle needs to be high on failsafe also or else the bird will fall out of the sky.

    High throttle on failsafe = fail unsafe. I guess its not that unsafe, since the heli needs to be armed first. Its just that Ive once had a heli with failsafe set wrong and WOW could have lost some fingers there..

    Can somebody clarify this issue for me or recommend a workaround?

  • good point about load feed forward.  what are the chances that the APM can handle the governing it self?  if we are going to be sending it rotor RPM and we are already sending throttle signals thru the APM.  it shouldn't be too much extra code to add governing. that would eliminate the need comm between the extra arduino and the APM.  BTW the I2C driver is a little out of my programing depth, but i'll look into it when i get there.

    on another note i'm planning on doing my first flights this weekend.  i'll have the APM onboard and powered but disconnected to log vibs.  i'll be posting my findings.

  • Robert,

    I remember when you started that (must have been about a year ago).  I've come up with something similar a stand alone arduino to do the control loop, i haven't gotten into the APM code yet to figure out the comm piece.  but like i said i have to get flying first.  I'm sure that i'll have some vib issues to figrue out before i get into the throttle governor.  time is a precious resource for me so it's pretty slow going atm but i'll get there.

    Anthony

    A nitro governor is essentially what i'd like to make.  it would be easier to buy one, but this is a DIY community so i'd like to try it myself.  really just to see if i can do it. 

     

    but you both are correct a Mode 3 isn't necessary but you asked if anyone would use it, and i would for a short time while i figure out my governor.  if you have better things to work on do that.

  • Oh, a question for you guys:

    I had started working on an RSC Mode 3, which would be a virtual throttle-curve in the APM.  It would look at the collective output (whether flying manually, or in an auto mode) and output a throttle signal based on the classic 3-point curve most of us were used to using in the old days.  This would allow us to use non-Governor equipped ESC's in the auto modes.

    But to me, this seems like an anachronism.  Is there any good reason NOT to simply use a governor ESC?  Who would want to do that?

  • Hey guys I'm not sure this is the correct place to post this, but here goes. I'm a noob around here, so I apologize if I'm standing on toes with the ideas that are about to follow :)

    I was reading the wiki, and noticed that the I-term is "leaky" to prevent it building up when the heli is on the ground. If this is allowed to happen, the heli will spool up and tip over.

    How bout a take-off sequence with a leaky I-term  which returns to a proper state after the motor ramp-up is complete? Say 2% per 100ms then decaying to 0% after 10 seconds? It was mentioned in the wiki that a solution was being developed, so maybe this is what the solution is?

  • Please could someone of the experts help me to explain why this happens while loitering and turning the nose about 180degr. Please see the Video and have a look at the log and parameter files attached.

    The heli holds the loiter position +- 2m for the hole battery if I just don’t touch the controls.

    So please don’t blame the GPS or the compass, both are working well.

    The wind was calm also.

    The heli is controlled by the APM 2.0 board and 2.9.1 firmware.

    A friend flying a 450 heli with a 2.5 board and 2.9.1 firmware experiences the same.

    2013-02-25 09-50 199.log

    2013-02-25 08-59-00 450 loiter test.tlog

    2013-02-25 09-50 199.log.gpx

  • Manfred, Randy and I spoke about this, and basically it comes down to...  you're going to have to be patient on this.  I don't like trying to diagnose by "radio control" and I don't understand the problem, nor have I seen it, and haven't flown in a few weeks so I can't even recreate it.

    I've got a few things that I'm working on right now that are taking priority.  Once I get my 450 flying again, I'll be looking for your issue.

    I actually smoked a servo on my 450 playing around with a variable voltage power supply trying to figure out this low voltage failsafe stuff.  I think I have a spare.  If not it's going to be a while.  Darn Chinese new year...

  • I’m sure I have no mixing in my RC, and I didn’t touch the right stick (roll pitch).

    But the heli settles on a new position afterwards, like there was roll pitch input.

This reply was deleted.

Activity