I'm currently working on a quadcopter using f450 frame and YMF32 code. I was able to successfully build the quadcopter and It flies without having any vibrations or wobbles. Also, I tuned the PID setting almost two days now.

But the problem is whenever I tried to roll or pitch the quadcopter descends and need to give some trust to avoid crashing. This happens only when tried to roll or pitch. My quad is approximately 1.5kg(or more not less) weighted and 1000kv motors are used.

I can understand what's happening using physics but not sure what I should do, So what can be the problem and what can I do to solve it.

Thanks in advance!


1 Answer 1


What you describe is probably due to cosine losses. Namely, when you pitch or roll your thrust vector points away from the vertical direction and thus not completely compensating gravity anymore. One way to compensate for this would be to scale your thrust by dividing it by the cosine of angle of your thrust vector with the vertical direction.

  • $\begingroup$ So the permanent solution is to change the code? $\endgroup$ Commented Jan 22, 2021 at 4:20
  • $\begingroup$ This would be the feed forward term for a altitude controller that shall be always active. $\endgroup$ Commented Feb 20, 2021 at 7:48

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.