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

  • R Lefebvre

    You stated above in your initial post "Arducopter 2.9 for TradHeli Discussion" , on January 2, 2013, that

    "My test flights yesterday went quite well.  The Alt_Hold now works beautifully, and I actually prefer landing in Alt_Hold rather than Stabilize!"

    My question is, how can you land in ALT_Hold when you have no control over the vertical control?

    Doesn't by switching to ALT Hold keep the Heli at that altitude?

    Thanks,Brian

  • With the heli sitting on the table in stab mode, I switch to Alt hold and the swash plate goes full negative. What do I need to do?

  • Yay, I figured out why the swash doesn't move when disarmed.  I will fix it and the next release it should be good.

    Still waiting to test fly the ground detection code.  Works on the bench, though I found a little bug tonight and fixed it.

  • Rob, yes hijacking the gyro channel is the way to go. As you said, we need to include the tail motor as part of the arming sequence. If I were you, I would have just run the tail esc off your rx directly with it linked to your main engine switch, then you can change the throttle mixes as required. Problem is, you could spin up the tail with the heli disarmed. Doesn't fix my issues either :P

    Circuitburner, the tails we are running are so much better than belt/TT that the pros outweigh the cons. Maybe I can convince you :)

    Advantages include:

    1. Less vibration. I'll upload some gopro footage taken from my heli so you can have a look sometime. Its just hard mounted to the frame and it has ZERO (0, nil, none, zilch) jello. APM benefits from this greatly

    2. Stronger and much easier and cheaper to fix in a crash. You can cut as much grass as you like and never strip gears or belts. In my case, the only moving part in the entire tail assembly is the motor, which cost $8 :D

    3. More available power/less power loss. ~15-30% of main engine power is lost in the tail transmission. Adding a direct drive tail to a 450 heli gives you an extra 85W of available power, while eliminating transmission loss :) With a scorpion 2221-12 motor, that brings us from <450W to ~615W of max continuous power at the rotors without exceeding component ratings (although some is lost in the main gear/pinion)

    4. Less noise

    On the subject of reliability, DD tails arent as bad as you think. I use a 20A tail ESC with simonk firmware. I did some tests and at WOT it consumes 7A. In flight I'd say it typically would consume less than 2A (current sensor reading between 0-1A) . For the ESC to fail at 7% load it would take a lot of bad luck IMO

    My tail motor is rated at 85W. At WOT it reaches ~80W, but only gets luke warm. After a hard flight the motor is cold to touch. It wont fail easily.

    The biggest point of failure would be the wiring. This can be mitigated by securing the wiring properly and insulating it. I inspect my wiring every 3 flights.

  • @ Robert, re direct drive tail (or heavy lift 3D variable pitch hexa in my case)

    3692654040?profile=originalHardware is DS929HV servo to Align metal pitch slider to HeliOptions 3 bearing 600 size tail rotor holder with 115mm tail blades (soon to be 140mm) on an Align hardened 5mm shaft spun by a 500kv motor on 6S.

    The "cup" for the pitch slider ball is just glued to the servo arm for mock-up and I'm machining aluminum "cups" to be screwed onto the servo arm for testing/ flight use as well as CNC'd bracket... once I install the USB smoothstepper as my old Dell PC is down. The cup needs to be about 1mm longer to fully capture the ball.

  • Another question:

    I have a ground contact detector that seems to be working on the bench.  The purpose is to go back to  the leaky-I after landing, so the heli doesn't tip over.  Basically it checks if the heli is not falling.  Then it checks if the collective is below the zero-pitch point.  Then it checks if the heli is within 25° of level.  If all of this is true, then it counts up to 1 second, then it sets takeoff_complete to false.  This in turn forces a return to the Leak_I in the pitch/rate controllers.

    takeoff_complete is set true any time the motor is run up, and the collective is above the hover point.  This allows a full I-term on the pitch/rate controller.

    Anybody see a problem with this logic?  In particular, the check to be within 25° of level.  Is that too narrow?  Should it be 45°.  I can't honestly see anybody landing at more than 25°?

    I want to set this window as narrow as practical, to avoid false ground detections, for example if you were flying fast forward, pulled up hard, and pulled back on the collective to hold altitude.  You could have a very negative collective, and not be falling, for over a second.

    So far so good, it's working on the bench, I'll flight test it soon.

  • Ok, now, another question for you guys.

    Joly is already successfully using a fixed pitch, independent tail rotor drive system, and it seems to be working for him, but he'll need some mods to the code to make this work well.  I'm happy to support this.  Namely, we don't want to start that tail rotor until after we've armed.  Currently, the motor tries to spin soon as the APM boots.

    I have actually been planning on using an independent tail motor too, but with variable pitch, so it will still have a servo.  I've already got a motor and ESC, just haven't built the mechanics yet.

    Now, what is the best way to structure this?

    First, we could set it up with a parameter you set, for a Fixed Pitch tail, and then you plug the tail ESC into Ch4 out, and work the code so this works.  Easy.

    However, how would we do it in my case, where I have a tail servo, and a tail ESC?  

    One option, is to simply parallel the tail ESC to the main rotor ESC.  That could work.  However, in the future, I'd like more flexibility.  I want to be able to change main rotor speed in-flight.  Slow it down for hovering, speed it up for fast flight.  While doing that, you'd want to maintain tail rotor speed relatively constant.

    So, what I was thinking is this...

    Get rid of the Gyro output.  Everybody is fine with that?

    Then, use the old Gyro output which is... channel 5?  And use that for all instances of tail rotor ESC connection.

    So in the case of FP tail, you'd plug the ESC into Ch5, and it would modulate the signal as required.  Ch4 would be unusable in this case.  In fact, what appears to be a servo signal might come out of 4.  Maybe somebody could find a use for that.  This would be cleaner in the code.  Take the Ch 4 output, mix it with the armed/disarmed status, and send it out Ch 5.

    In the case of a VP motor tail, you'd hook the servo into Ch4, and then Ch5 would output some kind of fixed signal based on armed/disarmed.  

    Does that make sense?  Anybody have any input?

  • Just finished reading the thread and I'm feeling a bit *soft*, you guys don't stop flying just because it turns to freezing a## winter??? LoL

    Getting ready to prep the 600EFL for the warm weather us sissies prefer and I must say I'm a bit hesitant to switch to 2.9.1 as I had the heli flying sooo well when I parked it for winter.

    I read the thread but I still can't seem to collect a consensus. To upgrade, or not to upgrade, that is the question.

  • It's awesome to see the developments in this thread!  I've been MIA on the forum for a while but I've been reading all of the updates via email.  It's been a crazy two months and I haven't had time to pass my throttle control through the APM channel 8 yet, but it looks like people are having good results doing so (for the most part).

     

    @Robert I have a similar APM mounting solution on my 600.  It's nice to have such easy access to it but I have yet to come up with a way of removing it (would be nice for accel calibration, etc.) without having to rip it off the gyro pads.  The APM is mounted with soft Spartan gyro pads to an 8mm thick piece of plastic to give the USB port enough clearance over the carbon frame (the plastic is just glued to the bottom frame bracket, but perhaps I could have done that with screws for easier removal).

    3692652820?profile=original

     

    I remember that a while back somebody suggested posting videos of interesting things we've done using APMs on traditional helis.  I shot a video at a skate park recently, and the APM was an asset for flight stability and piece of mind while in relatively close proximity to our subjects (who were part of the flight operation I might add).  There are evidently still some vibrations present in the camera mount (discovered that the torque tube shaft wasn't installed properly, and my flybar rod is ever-so-slightly bent), but replacement parts are en route and I'm hopeful that will fix the problem.

    Cheers!

  • Last night I finally got to do a bit more work to my 550-Frankenstein machine.  I struggled for a long time with figuring out where to mount the APM.  I wanted it to be as close to the CG as possible.  Not be too exposed.  Yet still be accessible for servicing.  And have room for a good anti-vibe system.  There was just no place on the heli that satisfied all that.  I considered putting it in a box under the frame as somebody else did, but I want that space for payloads.

    This is what I came up with:

    attachment.php?attachmentid=398817&d=1362065969

    I cut out that piece of frame.  It doesn't really do anything.  I now have a nice wide-open space that is accessible, but still central.  The rest of the anti-vibe system, I'll show when I'm done.

This reply was deleted.

Activity

Neville Rodrigues liked Neville Rodrigues's profile
Jun 30
Santiago Perez liked Santiago Perez's profile
Jun 21
More…