SQRT controller Logic in Arducopter position control

Hi guys,

I want to understand why Sqrt controller is used in Position controller in Arducopter-

Specifically , correction factor = sqrt( 2*acc_f *(error - acc_f/P^2 )) ; this code is used to calculate velocity target ,if error > acc_f/P^2 , here default acc_f = 2.5 m/sec2, default P = 1 (although not sure)

else , if error is < acc_f/P^2 , then simple P control is used , correction factor = P* error,

Can someone pls tell me what is this term acc_f/P^2 signify

I want to understand what utility sqrt controller serves here and any reference of its derivation, so that i can understand the full physics of sqrt controller better and what it helps in.

1 Like

Hey guys , Anyone, help will be very appreciated, I will be waiting, meanwhile I m going through the code

Check out this video of Leanord Hall explaining the square root controller and its merit.

1 Like