Hi everyone, for the past week I have been going through MP [1.3.24] to setup my 450 FBL helicopter. I am now up to the stage where I am trying to fly it but I can't get much sense out of the PID settings and there are several parameters that I need clarification for. Your help would be much appreciated!

Just some background:

I have had experience with setting up many helicopters both with flybar and FBL. I am also a reasonable sport flyer so I am only interested in ACRO at this stage. I have also dealt with PID controllers before, mostly with the OpenPilot CC3D on quadcopters. For the start I have my APM set with all flight modes in ACRO and have disabled all the additional sensors/features, essentially I am trying to set it up to work as a virtual flybar or "3 axis gyro" for aerobatic flying. 

Parameters I am unsure of:

AXIS_ENABLE ---  The wiki talks about this putting the gyros into "heading hold mode", this is what I want but I can't find it in the parameter list. Is it default now?

Stabilize Col Min/Max --- This appears in 'Heli Setup', what is it?

Arming --- I can move my collective pitch before arming. I read however that the collective is locked until armed so this doesn't make sense? (I have disabled the preflight compass checks)

Ch6 Opt doesn't work --- I tried using it like described here: http://copter.ardupilot.com/wiki/ac_rollpitchtuning/ It just resets Min/Max back to 0.000 whenever I try to use it. What is it called in the parameter list, maybe it would be more effective to change it there? Could be a similar bug to the one in the collective min/max setting. 

What is FF --- I have no idea. Is it similar to Derivative (D)? 

The PIDs now...

The default P gain was 0.1 on both roll and pitch, this was insufficient, so I put it up to 0.2, not much difference. I see 0.2 is the max allowed though so now what can I do??? The helicopter flies but is very sloppy and seems to have a delayed reaction to my stick input. If it were my quad I'd slap on a whole bunch more kP. But I appear to be at the limit is there an explanation for this? NO cyclic oscillation what so ever. I'll put in a screen shot of the PID page. 

Interestingly the tail gives a fast oscillation ever few seconds just before lift off. It doesn't do it in the air, what might this be? Could just be some weird thing to do with the grass still holding it down...?

Settings I have made:

I configured the collective in the heli setup page to give -12/12 degrees of pitch. I then went into my transmitter and set a normal flying mode (pitch: -4/12, throttle: 0/100) and a stunt mode (pitch: -12/12, throttle: 100/90/100). I however can't arm in either of these modes, so I have to arm in a third flight mode where both throttle is zero and pitch is -12 (this is no big deal but it is a little bit of a nuisance). I read that programming should preferably be done on MP but I couldn't find a feature that allows multiple flight mode throttle and pitch settings. Am I correct doing this or am I a fool? It seemed to work though. I should add that my throttle (Ch8) and collective are both controlled by the throttle stick, ie in radio calibration if I push the throttle stick up the throttle/(collective) moves up and Ch8 moves to the right.

Capture.PNG

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

Join diydrones

Email me when people reply –

Replies

  • Hi Keith,

    I have similar problems. My conclusion till now, use the wiki only as an outdated guideline.

    AXIS_ENABLE: seems to be gone its not listed in parameters list. I tried Acro mode and I had Heading Hold behaviour.

    Stabilize Col Min/Max: this is explained in Swash Setup section. In your case you would setup the swashplate to +/-12° and you would use 'Stabilize Col Min/Max' to get the 'Normal' pitch -4/12 by setting it to 4/12=0,333=33.3% and 12/12=1=100%.  As the units are percent*10 enter 333 for Min and 1000 for Max.

    Arming: I use a Pixhawk, there you have to press the safety switch for 2 seconds to move the servos, but this is not 'Arming' = engine doesn't spin. 'Arming' is collective pitch down and yaw right for 5 seconds --> engine will spin. You can see the status at the MP 'Flight Data' screen. Remove the blades / pinion / engine cable and try it, same thing with fail safe.

    Ch6 Opt doesn't work: Ch6 tuning worked for me always. From time to time MP shows me in 'Extended Tuning' (after refreshing) that it doesn't work, but that is not true as the heli definetly reacts to the turning knob. MP has in my experience lots of problems. The more eye candy, the more problems, therefore I use 'Full parameters list' 95% of the time and always do a refresh and check the parameters you changed if it is really what you want !

    Your link is for copter not for heli, 90% of the time that is o.k., but i.e. don't use Autotune for heli !  Got to 'Tune' in the 'Full parameters List'.

    What is FF: Feed Forward, it kind of gives you the control on the sticks you need (traditional-helicopter-tuning)

    The PIDs now...:

    Some general notes:

    When a heli is on the ground it can get into ground resonance - might explain the tail.

    The APM/Pixhawk is not a conventional 3D-FBL controller, the main goal is to fly missions - you need only one headspeed for that. As the head speed affects the control of the heli it is beneficial to do all the PIDs with the headspeed that will be used. The headspeed can be set in the TX or by MP and should always be controlled by the ESC in governor mode.

    I am very surprised, I have no 450, but from here (traditional-helicopter-tuning) :

    You should get to a RATE_RLL_P of about 0.0400 (on a 450 size heli) or maybe even a little bit more but hopefully you end up in this range.

    I do/did the PIDs this way:

    Make sure your heli has a 'perfect' setup, i.e. all trims on your radio are at zero = the servos are in mid position, the servo horns are in a 90° position, the swashplate is in the best possible mechanical level position. Use the trim settings at the 'Heli Setup' to get the swash 100% level. After trimming it level you can adjust all 3 trim settings to get it close to 1500, i.e. if you end up with 1440, 1450 and 1460 add 50 to all of them to get 1490,1500, 1510. Now set the linkage from swash to blade to get 0°. Quick check, if you fold the blades and turn them around the tips should be always level.

    Set the Stab Col Min=0 and Max=1000 adjust it later to your taste and set the Flight Mode to Acro or Stabilize (I prefer Acro with no stabilization).

    I start with the Roll and Pitch PIDs (I left the Yaw settings at the defaults for this, because they were o.k.). For empirical PID setting you start with I=0 and D=0. Set the Tune parameter to 4 = Rate Roll/Pitch kP and the Tune_Low to 10 and Tune_High to 300 this transfers to 0.010 and 0.300 as your adjustable range. Turn your Ch6 knob to the minimum.

    Opposite to the wiki I use enough of Rate_Roll/Pitch_FF to have enough swash movement with the stick inputs. After checking the artificial horizon - you don't want the FC to push you somewhere - I test the reactions of the FC on all 3 axis. Make your test flights on a flat and free surface with enough room for errors ! Make the heli light on the skids and use small inputs to see the reactions, lift off a few centimeters and watch for oscillations. Turn your Ch6 knob slowly until you see the first oscillations. Remember the oscillation time, land NOW and don't turn the Ch6 knob.

    You should see the P settings for Roll and Pitch at the 'Extended Tuning' screen - remember them. Go to the 'Full Parameters List' and change Tune to 51 = Rate Roll kD, expect something like 0.001 so change the Tune_Low to 0 and Tune_High to 5, turn your Ch6 knob to the minimum. Write 60% of the previous Rate_Roll/Pitch_P settings into the Rate_Roll_P and Rate Pitch_P field. Do Write Parameters and Refresh and check if everything was written o.k.

    Start the next flight and slowly turn up the Roll_D until it oscillates. Usually you can go higher with the values if there is no wind and the pilot is not trying to provoke oscillations, therefore don't write the full Roll_D back.

    After you are settled with P and D for Roll do the same for the I-term. I-term should be about half of the oscillation time so if you had 0.3 seconds set it to 0.15.

    Now do the same with Rate_Pitch_P, Rate_Pitch_D and Rate_Pitch_I. All values are usually higher than the Roll values.

    Its time to play with the Yaw settings now.

    Settings I have made:

    It is a safety feature that you can't arm as long as Ch8 is high - you could, but really shouldn't turn it off.

    See PID section for the other questions.

    • Thank you for a very comprehensive answer! That has cleared most of it up for me...

      I'm working on the PIDs still though. I found Rate_RLL_P and Rate_PIT_P are best at 0.1**+. I am now getting severe pitch oscillations above about 0.220, which is good to see.

      I got a nice steady hover but when I put in a stick input to correct for some drift there is a major delay to my input and then when it finally does react and it seems to go completely overboard. You end up having to bash the sticks backwards and forwards to try keep it level, it's a bit like trying to balance a big stick on your finger.

      I played with FF on both pitch and roll, I put them up to 0.15 each but it didn't appear to be making much of an improvement. Would any other parameters help with this issue?

      Thanks again!

      • Hi Keith,

        I found Rate_RLL_P and Rate_PIT_P are best at 0.1**+. I am now getting severe pitch oscillations above about 0.220, which is good to see.

        This is still very confusing for me. My small heli is a Gaui Hurricane stretched to 550 size blades and I have Rate_RLL_P=0.060 and according to the wiki a 450 should be around 0.040.

        Usually a heli has a lot less inertia around the roll axis compared to pitch axis, therefore with TUNE = 4(Rate_Roll/Pitch_kP) the first axis to oscillate should be roll, not pitch !  And a 450 should be more agile and therefore need smaller numbers than a 550.

        The settings on the Hurricane for the moment are Rate_RLL_P = 0.060 and Rate_PIT_P = 0.180 (3x more). Having similar P for Roll and Pitch is uncommon for helis.

        Do you use training gear or something that dampens roll movements or is this a special 450 ?

        According to your background info I assume your bashing the sticks is neither beginner flying style nor wrong expo setting, so some other ideas.

        When I started setting up the heli I followed the wiki, which tells you to start with P=0.010 and everything else at zero. This gave me something like 1°-2° cyclic swash movements = no control, just bashing the sticks and landing ASAP just like the description in the wiki.

        Check your cyclic blade movements on the bench with Ch6 knob in minimum and maximum position. With Rate_RLL_FF = Rate_PIT_FF = 0.250 I get reasonable +/-7° (or whatever you like).

        According to your info you use Acro, did you check all the Acro_*** parameters ?

        If you use Stabilze, then your STB_***_P parameters should be around 4.5. Do you get different behaviour in Stabilize ?

        Did you use Rate_RLL_I and/or Rate_PIT_I ? The I-term integrates the error between desired angle and actual angle over time, the longer you are on the stick, the bigger the correction term will be.

        Maybe it helps to show a MP screenshot.

        Hurricane 550.jpg

This reply was deleted.

Activity