Hey guys,

I know I'm not the first person to complain of this, but I've been scouring the forums trying to find answer, and none have pointed to a solution that worked for me.  I have a beefy octocopter in an X8 configuration using a Pixhawk and APM firmware 3.3.3.  I've been flying in stabilize mode, and whenever I give it a hard yaw left the drone pitches back (nose up) and rolls to the right.  Yawing hard to the right does not appear to cause a problem.  The same pitching back & up happens when I throttle up very hard as well.

I've tried to address all the possible culprits that other forums have suggested:

  • I'd made sure the fore/aft and left/right center of gravity is right in the center of the pixhawk.  Thought I believe the up/down COG is below the pixhawk.
  • I tuned the RATE_P/I/D for roll and pitch.  The copter actually handles really well if all you're doing is pitching and rolling it (and not yawing or being hard on the throttle)
  • I've done my very best to make sure there's no arm twist, although it could be I didn't do a very good job at that.  So **maybe** that's an issue?

The copter is definitely not lacking in power.  It appears to hover around 30% throttle, which I know is a little low.  Can that cause issues like this?

Here's a link to a log file (sorry 15mb was too big to attach directly to the post, so here it is in Google drive) from a short flight where I intentionally gave several hard yaw and throttle commands that exhibited the behavior.  I tried to analyze the log myself, but I'm no good at this stuff.  Maybe someone can help me uncover what's going on?

Views: 2734

Reply to This

Replies to This Discussion

Hi Derek,

Have you done an autotune on yaw? Are you using D term?

The github issue is talking about a parameter storage issue so I am not sure why it is relevant.

I have tuned over 15 copters ranging from fpv racers to 1m wheel base running 29" props, quads, hex, Y6, X8. They all end up with the filter frequency between 2.5 and 4Hz. So a default of 5Hz is on the high side and therefore conservative.

I am interested in your copter parameters and how you tune because your experience is very different to what I have measured myself.

Yaw settings were derived via autotune. Autotune did not populate a D setting.

I was thinking the parameter should be 20 to match the rate_rll_filt_hz and rate_pit_filt_hz. I saw a while back that someone posted that theirs defaulted back to 5 regardless of the setting they put in (wanted 20). I did a little search and found the github issue. I tried a setting of 20, and my MR was more responsive to yaw inputs. With 5hz, it does the turns but seems sloppy and laggy. With 20, it was crisp. Any idea why it seems more responsive with a higher hz?

Parameters are below. Autotune populated all the parameters except for Throttle Accel Loiter and WPNav. The former I just slid the Climb Sensitivity slider in basic tuning to the right until it was more responsive to throttle.

Am I crazy, or is there no way to export a .param file from a .bin file using APM planner (I'm on a mac, so don't have Mission Planner right now).  Here is a link to the .bin log.  https://drive.google.com/file/d/0BxHZtVL_kDQnV1hobXZIRXBkcXc/view?u...

I thought the .bin file was just a compressed version of the .log file.  What are the differences between them.

You are correct that I have not run autotune.  I used the Ch6_opt to manually tune the P,I & D rate values, but perhaps I should go do autotune.

I don't know what input conditioning really is (Google wasn't very helpful), so I suspect that I am, indeed, not using it.  Care to educate me on what that is?

Just noticed I posted the wrong multirotors pid. It was a 2nd nearly identical multirotor that I copied and adjusted the pids. Above is the autotune derived pids of the multirotor I meant to talk about

Sorry to cause confusion. I noticed the values were shortened and couldn't be autotune derived

Hi Jacob,

You need to do this when connecting to the pixhawk and in the parameter list. There seems to be some parameter values missing from your .bin and .log file.

You should set:



Unless your tuning is terrible you should be able to set STB_YAW_P = 3 safely.

 RC_FEEL_RP = 25


The last parameter turns on your input shaping. What this does is smooth out your rate and angle requests to the controllers. The throttle surge and bounce when you apply yaw is because your yaw rate is attempting to increase with a high acceleration. The parameters I have given you above smooth this out. Autotune sets your ATC_ACCEL_xxx_MAX to values your copter is capable after tuning.

Let me know how you go with this and we can go from there.

Good luck!!

Hi Derek,

I have given a bit of an explanation of the atc_accel parameters on the last page.

Do you have a log of your yaw autotune. I am interested to see how it looks. If you could export your .param file from the parameter list when connected to the copter that would also be helpful.


Jacob I had a similar behavior with a large quad , that lead to a crash .

After autotuning  roll and pitch were smooth but  Yaw  move very fast and I did not noticed.

During a long flight test I gave by mistake full Yaw stick command and two motors went out of sync and then the quad  crashed. With Yaw command in a quad or a coaxial octo two (four)  motors slow down a lot .

Try to raise the minimum motor speed and see if the problem continues.

Hi Leonard, thank you for taking a look at these logs. Developers for the ardupilot project have such a hands on approach, very inspiring!

Perhaps I should run autotune on the yaw axis again?

Do you think I should run autotune on the 2nd nearly identical multirotor or can I get away with copying over the PIDs? Same motors, props, ESCs, internal wiring. Was hoping to avoid running autotune again as it took a few days with the battery recharges.


Hi Derek,

Thanks for your kind words.

You shouldn't need to redo your pid tuning. I have done tunes for half a dozen commercial copters. I find a good autotune is generally stable enough to account for variation in the various components.

The bigger issue is varying payloads. A payload can dramatically change the control characteristics.

I looked at your autotune of yaw and I think you should repeat the tune with  AUTOTUNE_AGGR set to 0.1. I think you will get a much better tune.

I can see the tune was picking up noise instead of the control response and that is why it reduced the filter frequency to 1Hz.

Let me know how you go.



  Did you do some changes in RC 3.4 for Auto Tune? I installed 3.4 rc1 and redid the AT. This is a Alien H680 similar to the discussion.

It flies so much better I don't hate this frame now. In Position Hold, at say 12 m/s speed, I let go of the right stick and the copter makes a nice even (big quick) stop and holds. It is also more steady in wind @ hover. It used to dance around a lot.

Also, I've noticed a decrease in altitude drop on this copter during acceleration.

Could be I just got a better tune, but since loading 3.4 it seems to be more stable overall and flying missions even in high wind there are no overshoots on the splined wayponts; ran three tonight and can't tell the difference between them from the flight logs on the map. 

Hi DG,

I am glad your copter is flying well!!

I loose track of exactly when I made small changes or tweaks. Every now and again I find a corner case I can catch in one way or another. You may have benefited from one of those improvements.

Thanks, it is always good to hear when things are going well!!

Hi Jacob

Your main cause of the problem is that you have the larger props on the top (12.5) and the  (11.47) on the bottom.

if you change the larger props to the bottom layer you will certainly see a positive behavior change.

In your case, since you are seriously overpowered, I would run 11,47 on top and bottom, and it will behave a lot better.

I know it sounds so easy ....

oh, you might have to go back to stock PIDs for the test.


Reply to Discussion



Season Two of the Trust Time Trial (T3) Contest 
A list of all T3 contests is here. The current round, the Vertical Horizontal one, is here

© 2020   Created by Chris Anderson.   Powered by

Badges  |  Report an Issue  |  Terms of Service