GPS distance from PIXHAWK/CG

It is taking me a little longer that I had expected to tune a large scale Heli (Vario VLC) with a Pixhawk running copter_3.3. Have previously setup up and tuned a 800 size with the same setup and found it quite simple.

The problem I have is that in loiter or Poshold mode I get a slow circular oscillation, 'toilet-bowl' effect. I have tuned Stabilise and Althold to give a response I am reasonably happy with (could be a little sharper) but any mode reliant on GPS produced this oscillation.

I had one idea that the GPS and compass location could be the problem? Because I'm running a large electric motor, I wanted to put the 3DR Compass and GPS as far back as I could. At the moment is is right at the back of the boom, roughly 1200cm from the Flight controller which I have mounted on the CG. I once saw in the setup of a multi-rotor (I forget which one) the instruction to not mount the GPS to far away from the CG. This made me think   that this could be the source of the problem I have now?

Has anyone experienced this problem and found GPS to be a problem? Or has anyone with a large heli mounted their GPS way back and not seen any similar issues?

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

Join diydrones

Email me when people reply –


  • Hello Jack,

    We have flown traditional Helis for years now and we had the GPS in several the far forward and far back positon of the tail-boom. The GPS-position was never the problem for Loiter (also on our 1200 sized heli) an even so the compass.

    I do not know how your tailrotor is driven, if by extra electrical engine, belt or driveshaft.

    Normally if you using a driveshaft with several small bearings in the tailboom make sure, that you do not position your compass/GPS unit close to the bearing, because the bearing will act like a small magnet as soon you turn on your rotorsystem and this will lead to problems during flight.

    Hope this helps.


  • Developer

    @Jack, there can be several causes of this. The GPS position is unlikely to be the cause, although we should add support for a GPS position offset for completeness and because it would increase the robustness of the state estimator.

    We had a similar effect to what you describe in our 900 size heli and the problem turned out to be the gains on the position and velocity controllers (after some assistance from Leonard).

    I'd suggest you halve the following parameters:

    • VEL_XY_P
    • VEL_XY_I
    • POS_XY_P

    and also drop VEL_XY_FILT_HZ to 2Hz.

    I think you'll find it will fly a lot better in loiter.

    • VEL_XY_FILT HZ to 2Hz this parameter, what specific role is it ?

  • Common mistake would be wrong orientation...
    If your external compass is in a non-standard orientation, you must manually select the orientation in the combo box (change from ROTATION_NONE). Compass orientations are relative to the flight controller, not the airframe!

    See here:
    Advanced Compass Setup — Copter documentation
    • Thanks for the reply Ultrafuge.

      Both compass and PIXHAWK are facing forward on the machine. Configured to use the externally mounted compass with same orientation to the flight controller. Calibration always runs successfully.

      Since my last post I have moved the compass forward to within approximately 40 cm of the PIXHAWK. This is a shorter distance than I have had on smaller machines which flew well so I thought it a good way to troubleshoot. Unfortunately it made no difference.

      Recently tried re-tuning the thing from scratch and got a slightly better response in Stabilise and Althold but made very little difference in GPS dependent modes.

      My current feeling is that perhaps the servos I'm using are too slow. Could that be possible do you think? I'm using some Multiplex RHINO pro HV digi 4 servos on the swash. I remember observing when I was setting up the head that the travel looked incredibly slow compared to any other swash servo I had seen before but it was perfectly controllable when testing it with a VBAR system on its first flight so I put that thought aside till now....

      • Exactly the same servos we used on that project. While in Loiter mode, try increasing slowly STAB_ starting on pitch axis, and see if the amplitude of obscillation decrease until stopping. Then move to the roll axis and do the same.This just for hovering condition. Might not be safe for fast forward flight, so you'll probably need to retune a bit the rate pids, anyway you should be able to get safely up to 7,5-8 on pitch axis.

        • Good point, that idea makes a lot of sense. If that is the fix I suspect I'll need to go back and retune the rate controllers as have tried so many things with those to improve response.

          Do you have a file of parameters for the project you mention above using the same servos? It would be great if I could use it as a reference for my next flight?

  • What are your STAB_PIT_P and STAB_ROLL_P? toilet bowl could be due to even too low stabilization PID or phase angle error, or in simple words, the input is not in "resonance" with output, thus causing the phase lag you noticed in the slow circular motion. 

    I have set up an heli like that some time ago (with gas engine).

    • Thanks for the reply Ferruccio.

      STB_PIT_P = 6.5

      STB_RLL_P = 7.5

      Are those values much lower than the values you have had in the past?

      I am running Copter3.3.3 BTW

This reply was deleted.


sam liked Jimmy Oliver's profile
Aug 25
Mike Whitney liked Mike Whitney's profile
Jul 19
Abdulatif Tlaib liked Ryan's profile
Jun 24