Servers by jDrones

800 size Gasoline Heli - Pos Hold Help needed

Hello All,

I have setup a Bergen Intripid EB gasser heli (flybar head) on a Pixhawk 2 cube. I have setup the heli exactly the same way as Chris Olsen’s videos. This is my second heli which i’m setting up with the cube. The first heli did great on my first autonomous try (maybe beginners luck).

The gas heli, i’ve setup and flying well in the stabilise mode. Tried the alt hold mode and ti did good except for it was drifting but held altitude good. when i tried position hold mode the heli was drifting and after a few secs it did try to give a correction and seems to be in a loop of this correction. If i give control corrections from the tx and hold that input, the heli stays but thats not how it supposed to be.
As i am using a flybar head, i’ve been only playing with the pitch & roll vff only. All others are stock except for the tail.
Just to give it a try, i increased the vff on both the pitch & roll but it did not hold position, thats why on the log you may see the correction from the ph2 is more than the desired.
How do i make the heli hold its position?
Attaching the log file here for your perusal.
Thanks in advance for alll the help.


The log file

Took a look at your parameters and noticed that H_CYC_MAX was 25000. Did you intentionally make it that value? the default is 2500 and contrary to the max value listed in the parameter metadata, its max value is 4500. Check the amount of cyclic blade pitch you need and either make this 4500 or adjust it to less than that if necessary.

If you could conduct a flight with LOG_BITMASK at 131071 that would be helpful. I think you have high vibrations.

It also looks like you are using a 3.6 version of the code. Just to let you know. In the latest version (4.0), there is a build in rotor speed governor that works with the throttle curve to govern rotor speed. Also there is a notch filter that will help remove vibration noise from the signals that the control system uses. Its up to you but just wanted to let you know of some of the improvements made to the software.

Hello sir,

Thank you for your reply.

  1. H_cyc_max i think is by mistake, will correct that, i think i got +/- 7deg of cyclic pitch but I dont remember what was the value i got for that. will re check again and put that value in the parameters.
  2. Flight with a log_bitmask at 131071, is it something in the parameter i change and i do a flight and i post the log? What happens in this?
  3. When i was setting up the heli (Oct 19), this was the latest fw 3.6, i am not using a governor yet (will get to it) so i thought will update to 4.0 later, did not know about the vibration filter, will update it to 4.0.
    Also, when you update to the new fw, will the parameters change too? should i re do the entire setup from the scratch? or will it remain the same?

Thanks for your reply again.


Yes, exactly. change the parameter, fly your heli and then post the log for me. This changes what is logged and the rate at which it is logged. It will include the PID signals and log attitude and rate data at 400 hz.

It is really up to you. there is a static notch filter in the version you are using. we could use that for now and see how well it attenuates the vibrations.

Yes some of the parameters will change and will be updated to new values based on your set up, if it is necessary. One parameter you will have to ensure you set properly is H_COL_MID. That needs to be the PWM where your blades produce zero thrust. for symmetrical blades, it is zero collective blade pitch. But that is pretty much it. everything else is automatically updated.

Thanks for all your inputs. Did a flight today with the changes you said. Still flying with the 3.6fw, but activated the notch filter as you mentioned. The cyc_max changed it to 2500, but even at 25000 i was still getting +/-7deg.
The heli is flying good in stabilize mode. When i tried the pos hold, the heli drifted like earlier, only thing this time the place i was flying was more open so i let it drift just to get the data. What i observed is the heli slowly got into a kind of toilet bowl effect kind, it starts slowly but it slowly gains speed of that circle kind or toilet bowl kind, switched over to stabilize before things got out of control. Did this couple of times and everytime it was the same, it starts to drift slowly and gets into the toilet bowl kind of thing everytime and as you leave it for more time it gets more faster. It seems to be holding altitude okay, but was not concentrating on that.
Uploding my logfile here of this flight. (changed the Log_bitmask to 131071)

So what is it wrong that i have done? Thanks for all your advice and TIA.


Heres my log file and my parameter file.
26-05-2020-2.param (14.7 KB)

The notch filter requires some adjustment for your particular aircraft. The defaults are really meant for multicopters but even they need some adjustment specific to an aircraft. In any case, you need to set the notch frequency for the frequency of the dominant vibration. The best signal to use is the Roll rate signal. This is Rate.R in mission planner. Then zoom into the signal until you see one second elapse over the plot as shown below.

Then you would count the number of larger peaks or valleys in one second. That would be the frequency of the vibration in hertz which is the units that are used to set the notch filter frequency. In this case I counted 19 which means the vibration is at 19 hz. I assume that your rotor speed is about that speed in RPM. To calculate RPM from hertz, multiply by 60 so 19 hz is 1140 RPM. Is that the rotor speed that you are targeting with your throttle curve?
So the parameters I suggest you set for the Notch filter are

The only thing I noticed at the moment that looked off in your parameters is the value for pitch and roll ILMI was too high. I suggest these values

Looking more at your log. You need to lower the vibrations. The notch filter will help with that for the control system but the filters are not used for the attitude estimation done by the EKF. So I would ask that you ensure that the rotor has been tracked and balanced properly. Also where did you mount the pixhawk? and how did you mount it? Did you use any foam pads or rubber dampeners to help with vibration absorption?

So if you look at this plot the red is the roll rate that is measured by the Inertial Measurement Unit Sensor. The Green is the target rate that is computed by the flight controller. Most of the noise on the sensor is due to rotor vibrations. That could be due to poor track and balance or placement and mounting of the controller or a combination of both.

Yes there is some amount of vibration in the heli, the blades are tracked thou and flying smooth, occassionally i do find some vibes on the tail fin but its not thru out the flight. I will inspect the head once again.
I checked from an optical tach and the head speed i was getting is around 1500rpm. but definitely not as low as 1100rpm.

The pixhawk is mounted (kind of hard mounted) by the pixhawk supplied double side glue tapes. I was supposed to use a rubber dampner but i read in this forum in one the threads that the cube is got its own vib isolation and adding an additional dampner would make it worse. But anywhich ways if none of this solved my problem, i was about to mount the pixhawkt on a rubber dampner mount.
Photo of the heli attached for your reference for mounting of the pixhawk. The nicd battery behind the GPS is a dummy battery used as a balast for cg balance.
Thanks again for your reply sir.

Kind Regards,

your track may be good but how do you balance the rotor system?

well that may be while you are on the ground with flat pitch but it will vary in flight since you are using a throttle curve. we could certainly check it with the batch logging which gives a 1000 hz sample rate. Also may not be a bad idea just to put an RPM sensor on the heli. This firmware supports RPM sensors and you could then be set up to use it with the latest firmware for the governor. In any case, it just means the notch filter width will have to be set pretty wide. Typically I use 10 hz, you may want to bump that to 12 or 14 hz. And since you are targeting 25 hz (1500 RPM), set the center freq to maybe 23 hz. I think you are getting some drooping under load.

Ok. So if you are absolutely positive that you have done due diligence in balancing your rotor system. Then you may want to consider investigating how the controller is mounted. From what I can tell in the picture, it looks like a good location but I can’t tell how rigid the supporting structure is. many times users may mount it out on a plastic tray at the nose of the aircraft which is a bad place to mount it. I have mounted mine sitting sideways against the vertical frame plate. The controller was similar to yours in that it has internal IMU isolation and I have my vibes (given by the VIBE signal in the log) below 5. Yours are around 20 and peak at 40 sometimes.

Ultimately we can remove much of the vibes in the control system signals but the vibes will still affect the EKF which is bad because it predicts your attitude, velocities and other things. So it is pretty important to keep those VIBE signals below 15 to 20.

I will inspect the head again tomorrow and check for anything unusual.
Will do the notch filter as you advised me and do a flight. Also on my parameters I have only one parameter of the notch, either I can switch off or on (0 / 1) I couldn’t find the other parameters you specified above. I will check again in the morning and do a flight and take a video just to show you the tbe of the Heli.

With that kind of vibration it’s doing very good in stabilize flight and alt hold mode. But what I’m wondering is, why this tbe kind of drifting happening in the Gps modes? Is it cause that the Gps is mounted far forward on the Heli which is on a long plate… and in flight it may tend to shake. Will it help if I move the Gps towards the tail boom? But I may have to extend the wires by soldering longer wires, is this safe?
The mounting portion of the pixhawk is very rigid. Will also try and put the pixhawk on a rubber dampener plate and check tomorrow if it makes any difference.
I have a stator gator hooked on to a gy701 and tried to govern the head but for some reason I’m not able to… that’s the reason I’ve kept the governor on hold. Can I give the stator gator to pixhawk anyway to read the rpm in the present (3.6) fw?
Thankyou so much for all your help sir, it’s so much of learning for me. Thankyou.

Kind regards,

With other combustion helis, the ‘cube’ 2.1 has proven to be not very good at dealing with the vibrations and the Pixhack v3 and v3x have fared much better.

change the INS_NOTCH_ENABLE parameter to 1 then refresh the parameters and you should see the rest. If you are using QGC you may have to go to the advanced parameters list and look for the INS_NOTCH group there.

I wouldn’t change your GPS location. You have to adjust a tuning parameter that I think will help with the position keeping. Now @ChrisOlson had reminded me that there was an issue with PosHold in 3.6. So I would suggest that you try flying in Loiter to test our tuning changes.

I would like to see a flight with reduced vibrations using the Notch filter before we proceed to try and fix the issue you are having in GPS aided modes.

Bill, Ok, I inspected the heli completely today. The head dampners looks a little worn out, i changed it to new ones. Otherwise its all the same in the helicopter. After the dampner change, the heli felt it flew much more smoother, the tracking looked bang on. Also, made the engine a bit leaner. These are the only changes done to the heli in mechanical aspects.

I changed all the things you had advised me to do. The notch values changed are:
Changed the mode from position hold to Loiter mode. I have a small video clip of the heli switched to loiter mode from stabilise mode, the Heli starts that TBE kind of circling very slowly and increases speed and the circle gets wider as you leave it for more longer. I change it to stabilise mode before it got out of control. Posting the video link here.

Also, here is my log and parameters file for your perusal.

Thanks again bill, you’ve been very helpful. Thanks for taking time for helping me out.

Kind Regards,

28-05-2020-2.param (14.7 KB)

Thanks, yes ive heard the pixhack is better, thinking of trying out the v5 in the next oppurtunity.

kind regards,

Also Bill, i checked from an optical tach while the heli was hovering in stabilise mode and the head speed i got is around 1490 to 1530, so lets say 1500. I am targeting 1500 to 1600 once i put a governor.

Thanks and regards,

I’m not sure what is going on with your vibrations. One other thing to look at is performing analysis on your IMU data to see what the frequencies of the vibrations are. then we could further nail down the origin of the problem. Here is the wiki on investigating vibrations and how to do the analysis. The aircraft looks pretty good in a hover from your video aside from the toilet bowl effect.

So regarding the TBE, it appears that your velocities are not following the desired velocities and I think this is why you are experiencing this issue.

The way that I get them to match better is increasing the PSC_VELXY_D gain. If you can put this on the tuning knob that would be best. but only increase this at 0.1 increments and I wouldn’t go much higher than 0.5. You can cause your aircraft to oscillate just like tuning the Rate P and D gains if you get this parameter too high. so only increase this enough to get rid of the TBE.

Thanks Bill, I will try the PSC_VELXY_D gain as you advised and see how it fares…
I will also use another set of new rotor blades and try too… hopefully it’llbe solved.
As a last option I will replace the pixhawk to a new one and see if it’ll solve the issue.
Or else I’m left out of no other option than to change to another Heli (most probably a fbl head bergen) and start fresh.

Also wanted to ask if it’s ok to mount this pixhawk cube and the new pixhack on the rubber vibration isolators or thicker foams which used to come with 3DR pixhawks? Will this help with the vibration or will it be worse for these kind of imus which is got an internal vib isolation?
Also any input if the stator gator will work with the pixhawk as a sensor for the Governor?

Thanks again for all you help and your time. Appreciate it very much… :raised_hands:

Kind regards,

Servers by jDrones