# How a quadcopter pitch/roll impacts thrust?

I'm thinking about how a quadcopter flight controller works, and I usually see that each motor speed is determined by a formula like:

speed_motor_1 = throttle + pitch_pid + roll_pid + yaw_pid


This looks fine, but one thing I was considering is throttle -> thrust is not so straightforward. For instance, a quadcopter in horizontal position have propellers pointing up and the thrust may be X. If you pitch this quadcopter by 30 degrees, now the propellers vector force is inclined and thrust it is X*cos(30 degrees)

Does that make sense? Is that something that must be taking into consideration when calculating "throttle" in the aforementioned formula?

Thanks

• what are you looking to get? throttle is an input. thrust is a vector that's impacted by all 4 parameters, yes. throttle here is in effect an absolute offset from the other things the copter is trying to manage (roll, pitch, and yaw, specifically). you don't need to calculate throttle as it's provided, and you don't need to calculate thrust as its just the speed of the motor (in effect). are you looking for velocity? – kolosy Feb 8 '19 at 17:30
• My point is that it looks like "throttle" should change depending on the angle of the quadcopter (if you want to maintain level flight) even if the input doesn't change. For instance, if I need "throttle=40%" to keep the quadcopter stable at a level and I put some pitch (let's say 30 degrees) to it, this means I should increase the throttle if I want to keep level flight. – Lem0n Feb 9 '19 at 1:51
• No, again - throttle is the input (or one of them). Motor speed, and, by extension, thrust is the output. What you're trying to do is ask whether thrust will vary as a function of y/p/r, with the same throttle. The answer is yes, it will. – kolosy Feb 10 '19 at 6:29