Hello.  Just wondering if I could get some advice.

Since day one, my hex has had a problem with uncommanded roll/pitch.  I think (its hard to tell with the control issues) I have gotten my rate pids pretty much dialed in.  When I find the sweet spot (slightly forward and to the left on the stick) it hovers nicely.  The moment I let the stick center the thing rockets off to the right (~10 degrees) and begins a slight drift backwards.  I was able to trim out the aft movement, however, even with maximum left trim, the copter still wants to shoot off to the right.

Things I have done:

  • Balanced the props with a magnetic prop balancer.  I have been using this for a while and have always had good results on my other planes/helis.
  • because my hex has tubular arms, I built a fixture that holds my BeastX digital pitch guage and mounts on the prop shaft.  Each motor is 0 degrees +/- .2 degrees (with respect to the frame)
  • Leveled the frame during the accelerometer calibration to 0 degrees, again using the BeastX pitch guage
  • Before each flight, I level the frame with a spirit level and invoke the "preflight sensor calibration" from mission planner.  Is this the same as running the "level" command from the CLI?  After doing this the AHI is dead level.
  • I have tried several vibration control solutions on the APM board.  I started with one piece of thick vibe isolating gel under the apm and then moved to four individual (about .5"x.5"x.25") pieces at all four corners with a rubber band providing some downward force on the gel pads.  I noticed no difference between these two methods.
  • I tried various trim methods (as mentioned above).  In most cases I can get rid of the aft movement with a small amount of trim however the uncommanded roll to the right happens no matter how much trim I use.  I have gone all the way to 100% left trim.  It makes no difference.
  • Verified "X" configuration, proper motor rotation, prop placement, etc... The obvious stuff. 

The only other thing I can think of is to move the motors around on the frame to see if something changes.  Possibly one motor is putting out more/less power than the others?  I would think that the APM would adjust for this unless its too extreme.  I really don't want to do this as it will require a complete disassembly of my hex.

I will include the log files from my most recent flight as well as an excel file showing telemetry from the Z accelerometer with each motor running individually.  I'm thinking that some sort of vibe issue may be causing this but I'm no engineer and this data only kinda makes sense to me.

Sorry for the long post, just wanted to be through.  Anything else one would need to troubleshoot this problem I can provide.  Thanks for reading and or providing any help!


Views: 768


Reply to This

Replies to This Discussion

Hey Andrew,

I used to have very similar issues with my first quad. Here is what I did to address it:

- I run the manual esc configuration per the wiki as I feel I get better results
- when attaching the battery to your Copter, be sure that it is completely level, when powering the system, the gyros will spin up and set level, if your copter is out of level it will attempt to set each time you give it throttle
- be sure that when you are done flying that you disarm the motors before removing the battery so that the system holds its settings
- after any longer flight times, I always run the level command from the cli, I have had better luck using this
- if you haven't already done it, find a windless area (gym or big room) and fly in auto trim mode to let the copter learn from your control adjustments
- after trying all of the above, perform the hand test which will let you feel if there is still any pull to one side or the other without risking damage

Hope this helps!


Thanks for the reply.  I will try the manual ESC calibration as I used the auto cal method.  I was lazy.

I guess it's unclear to me as to how or when arducopter calibrates its sensors.  From my understanding, the accelerometers are calibrated only during the calibration procedure in mission planner and the Gyros/mag are calibrated during start up of the APM?  My copter is never level when I start it up because I always run the preflight sensor calibration from mission planner.   I thought this was the same.  On my next attempt I'll keep it level during startup and note any changes.

Running the level command after long flight times is to correct for drift?  I have never done this...

As for auto trim, I have watched the video showing the auto trim procedure for v2.9.1 and it appears that he just trims out the copter with his radio and then switches channel seven to save the trims.  I know in 2.8 auto trim was done without using any radio trims (correct me if I'm wrong)... Is this feature still available in 2.9?

Does it always roll/pitch in the same direction regardless of wind or heading? I was having the same issue and realized that one of the motor screws was in the wrong hole about 2 cm off. If this is the issue, you will be able to see a slight asymmetry when you spin the prop on the motor with the issue.  

Hey Jeff, thanks for the reply. My motors only go on one way so I doubt this is the issue. I wish it was this simple!

Just an update...  I calibrated the ESCs individually and it helped a little.  I was able to completely remove the backwards drift however the uncommanded roll is still present.  No amount of trim corrects this.  While flying yesterday I did figure out that if I allow it to take off (kinda just let it go where it wants) it eventually corrects itself and levels out almost completely.  Now I'm beginning to think that it's a setting I don't have dialed in properly.  I'm just not sure what one would cause this type of behavior.  When I allow the stick to center, the hex rockets off to the right but then correct after abut 20 or 30 feet.  What should I adjust? Or am I completely wrong on this?


Just a question  on your procedure for level.

Are you using the CLI level or the Level command in the configurations tab?

Apparently the CLI level does not do good things with 2.9 and the Accelerometer calibration should be used in the Level screen of the Configuration tab.

I have never used the Level command in the configurations tab other than when I initially calibrated my accelerometer.  All other times I have had to level the copter I either used the "Pre flight sensor calibration" or just made sure it was level when I booted the APM.  I don't know if this is right, I just assumed that everything that needed to be calibrated would be done during the boot sequence as this is how it works on every other stabilized RC vehicle I have.  I have never used the CLI to run the level command.

If I use the accelerometer calibration screen to set level, do I need to go through the whole calibration process (turn on left side, rt side, etc) or can I just do the set level and navigate away from the screen?

You have lost me with the 'Pre Flight Sensor Calibration' ??

Where is this function?

The Accelerometer calibration has to be done and that is all the levelling it needs.

And yes, it needs to be done on all sides but not redone all the time. One initial setup should do it.

So where is this 'Pre Flight Sensor Calibration' ?

Ok, that was what I was thinking regarding the accelerometer calibration.

It's actually "Pre Flight Calibration".  I thought the word "sensor" was in the name, I wasn't by my computer when I wrote that reply.  The command is located on the "Flight Data" page of mission planner, under the "Actions" tab, in the first pull down menu.  It is labeled "PREFLIGHT_CALIBRATION".  On a few occasions, when I booted up the APM the AHI didn't agree with the actual orientation of the copter.  I ran this command and the AHI leveled.  I assumed this re calibrates the gyros...

That's a good question and would be worth asking in the '2.9 release' thread or the MP thread.

The original Level command was removed and replaced by the calibrate command because doing a level would screw up the accelerometer calibration.

Maybe this is a left over that has not been removed or is specifically for what you are using it for, a pre flight gyro calibration.

I would like to know too.

I will repost the question in that thread..

Don't use the preflight_calibration command.  See here.  Still doesn't exactly point to the problem I'm having but might be a start.  Ill re-calibrate my accelerometer tomorrow and see how it does.

Reply to Discussion


© 2019   Created by Chris Anderson.   Powered by

Badges  |  Report an Issue  |  Terms of Service